11
11
db_version = "5.0"
12
12
13
13
14
- def base_install (session , flask , mongoengine ):
14
+ def base_install (session , flask , mongoengine , toolbar , wtf ):
15
15
"""Create basic environment setup for tests and linting."""
16
+ session .run ("python" , "-m" , "pip" , "install" , "--upgrade" , "pip" )
17
+ session .run ("python" , "-m" , "pip" , "install" , "setuptools_scm[toml]>=6.3.1" )
18
+
19
+ if toolbar and wtf :
20
+ extra = "wtf,toolbar,"
21
+ elif toolbar :
22
+ extra = "toolbar,"
23
+ elif wtf :
24
+ extra = "wtf,"
25
+ else :
26
+ extra = ""
27
+
16
28
if flask == "==1.1.4" :
17
- session .run ("python" , "-m" , "pip" , "install" , "--upgrade" , "pip" )
18
- session .run ("python" , "-m" , "pip" , "install" , "setuptools_scm[toml]>=6.3.1" )
19
29
session .install (
20
30
f"Flask{ flask } " ,
21
31
f"mongoengine{ mongoengine } " ,
22
32
"-e" ,
23
- ".[wtf,toolbar, legacy,legacy-dev]" ,
33
+ f ".[{ extra } legacy,legacy-dev]" ,
24
34
)
25
35
else :
26
- session .run ("python" , "-m" , "pip" , "install" , "--upgrade" , "pip" )
27
- session .run ("python" , "-m" , "pip" , "install" , "setuptools_scm[toml]>=6.3.1" )
28
36
session .install (
29
37
f"Flask{ flask } " ,
30
38
f"mongoengine{ mongoengine } " ,
31
39
"-e" ,
32
- ".[wtf,toolbar, dev]" ,
40
+ f ".[{ extra } dev]" ,
33
41
)
34
42
return session
35
43
@@ -44,9 +52,11 @@ def lint(session):
44
52
@nox .session (python = ["3.7" , "3.8" , "3.9" , "3.10" , "pypy3.7" ])
45
53
@nox .parametrize ("flask" , ["==1.1.4" , "==2.0.3" , ">=2.1.2" ])
46
54
@nox .parametrize ("mongoengine" , ["==0.21.0" , "==0.22.1" , "==0.23.1" , ">=0.24.1" ])
47
- def ci_cd_tests (session , flask , mongoengine ):
55
+ @nox .parametrize ("toolbar" , [True , False ])
56
+ @nox .parametrize ("wtf" , [True , False ])
57
+ def ci_cd_tests (session , flask , mongoengine , toolbar , wtf ):
48
58
"""Run test suite with pytest into ci_cd (no docker)."""
49
- session = base_install (session , flask , mongoengine )
59
+ session = base_install (session , flask , mongoengine , toolbar , wtf )
50
60
session .run ("pytest" , * session .posargs )
51
61
52
62
@@ -71,18 +81,22 @@ def _run_in_docker(session):
71
81
@nox .session (python = ["3.7" , "3.8" , "3.9" , "3.10" , "pypy3.7" ])
72
82
@nox .parametrize ("flask" , ["==1.1.4" , "==2.0.3" , ">=2.1.2" ])
73
83
@nox .parametrize ("mongoengine" , ["==0.21.0" , "==0.22.1" , "==0.23.1" , ">=0.24.1" ])
74
- def full_tests (session , flask , mongoengine ):
84
+ @nox .parametrize ("toolbar" , [True , False ])
85
+ @nox .parametrize ("wtf" , [True , False ])
86
+ def full_tests (session , flask , mongoengine , toolbar , wtf ):
75
87
"""Run tests locally with docker and complete support matrix."""
76
- session = base_install (session , flask , mongoengine )
88
+ session = base_install (session , flask , mongoengine , toolbar , wtf )
77
89
_run_in_docker (session )
78
90
79
91
80
92
@nox .session (python = ["3.7" , "3.8" , "3.9" , "3.10" , "pypy3.7" ])
81
- def latest (session ):
93
+ @nox .parametrize ("toolbar" , [True , False ])
94
+ @nox .parametrize ("wtf" , [True , False ])
95
+ def latest (session , toolbar , wtf ):
82
96
"""Run minimum tests for checking minimum code quality."""
83
97
flask = ">=2.1.2"
84
98
mongoengine = ">=0.24.1"
85
- session = base_install (session , flask , mongoengine )
99
+ session = base_install (session , flask , mongoengine , toolbar , wtf )
86
100
if session .interactive :
87
101
_run_in_docker (session )
88
102
else :
0 commit comments