11# -*- coding: utf-8 -*-
22import logging
3+ import sqlite3
34import sys
45
56import pytest
67
78
9+ def _ensure_sqlite_min_version () -> None :
10+ """Ensure that the sqlite3 module meets the minimum version requirement."""
11+ minimum_version = (3 , 31 , 0 )
12+ if sqlite3 .sqlite_version_info >= minimum_version :
13+ return
14+
15+ try :
16+ import pysqlite3
17+ except ImportError :
18+ return
19+
20+ # Replace sqlite3 module so Django picks up the newer SQLite implementation.
21+ sys .modules ["sqlite3" ] = pysqlite3
22+ sys .modules ["sqlite3.dbapi2" ] = pysqlite3 .dbapi2
23+
24+
25+ _ensure_sqlite_min_version ()
26+
27+
828def setup_root_logger (level ):
929 """Set up the root logger, make it to write messages to stdout"""
1030 root = logging .getLogger ()
1131 root .setLevel (level )
1232
1333 handler = logging .StreamHandler (sys .stdout )
1434 handler .setLevel (level )
15- formatter = logging .Formatter (' %(asctime)s - %(name)s - %(levelname)s - %(message)s' )
35+ formatter = logging .Formatter (" %(asctime)s - %(name)s - %(levelname)s - %(message)s" )
1636 handler .setFormatter (formatter )
1737 root .addHandler (handler )
1838
@@ -23,36 +43,36 @@ def pytest_configure():
2343 settings .configure (
2444 DEBUG_PROPAGATE_EXCEPTIONS = True ,
2545 DATABASES = {
26- ' default' : {
27- ' ENGINE' : ' django.db.backends.sqlite3' ,
28- ' NAME' : ' :memory:' ,
46+ " default" : {
47+ " ENGINE" : " django.db.backends.sqlite3" ,
48+ " NAME" : " :memory:" ,
2949 }
3050 },
31- SECRET_KEY = ' not very secret in tests' ,
51+ SECRET_KEY = " not very secret in tests" ,
3252 TEMPLATES = [
3353 {
34- ' BACKEND' : ' django.template.backends.django.DjangoTemplates' ,
35- ' APP_DIRS' : True ,
54+ " BACKEND" : " django.template.backends.django.DjangoTemplates" ,
55+ " APP_DIRS" : True ,
3656 },
3757 ],
3858 USE_TZ = True ,
39- TIME_ZONE = ' Asia/Shanghai' ,
59+ TIME_ZONE = " Asia/Shanghai" ,
4060 MIDDLEWARE = [],
4161 MIDDLEWARE_CLASSES = [],
4262 INSTALLED_APPS = (
43- ' django.contrib.auth' ,
44- ' django.contrib.contenttypes' ,
45- ' django.contrib.sessions' ,
46- ' tests' ,
63+ " django.contrib.auth" ,
64+ " django.contrib.contenttypes" ,
65+ " django.contrib.sessions" ,
66+ " tests" ,
4767 ),
4868 # bkauth settings
49- BKAUTH_BACKEND_TYPE = ' bk_token' ,
50- BKAUTH_TOKEN_APP_CODE = ' mock_app_code' ,
51- BKAUTH_TOKEN_SECRET_KEY = ' mock_app_key' ,
52- BKAUTH_TOKEN_GRANT_ENDPOINT = '' ,
53- USER_ID = ' 0221dbef87cd' ,
54- USER_NAME = ' user1' ,
55- USER_NICKNAME = ' user1中文名' ,
69+ BKAUTH_BACKEND_TYPE = " bk_token" ,
70+ BKAUTH_TOKEN_APP_CODE = " mock_app_code" ,
71+ BKAUTH_TOKEN_SECRET_KEY = " mock_app_key" ,
72+ BKAUTH_TOKEN_GRANT_ENDPOINT = "" ,
73+ USER_ID = " 0221dbef87cd" ,
74+ USER_NAME = " user1" ,
75+ USER_NICKNAME = " user1中文名" ,
5676 AUTHENTICATION_BACKENDS = ["bkpaas_auth.backends.UniversalAuthBackend" ],
5777 )
5878
0 commit comments