6
6
7
7
from ..sexts import package_check
8
8
9
- from nose . tools import assert_true , assert_false , assert_equal , assert_raises
9
+ import pytest
10
10
11
11
FAKE_NAME = 'nisext_improbable'
12
12
assert FAKE_NAME not in sys .modules
15
15
16
16
def test_package_check ():
17
17
# Try to use a required package - raise error
18
- assert_raises (RuntimeError , package_check , FAKE_NAME )
18
+ with pytest .raises (RuntimeError ):
19
+ package_check (FAKE_NAME )
19
20
# Optional, log.warn
20
21
package_check (FAKE_NAME , optional = True )
21
22
# Can also pass a string
@@ -29,7 +30,8 @@ def test_package_check():
29
30
FAKE_MODULE .__version__ = '0.2'
30
31
package_check (FAKE_NAME , version = '0.2' )
31
32
# fails when version not good enough
32
- assert_raises (RuntimeError , package_check , FAKE_NAME , '0.3' )
33
+ with pytest .raises (RuntimeError ):
34
+ package_check (FAKE_NAME , '0.3' )
33
35
# Unless optional in which case log.warns
34
36
package_check (FAKE_NAME , version = '0.3' , optional = True )
35
37
# Might do custom version check
@@ -40,78 +42,63 @@ def test_package_check():
40
42
41
43
def test_package_check_setuptools ():
42
44
# If setuptools arg not None, missing package just adds it to arg
43
- assert_raises (RuntimeError , package_check , FAKE_NAME , setuptools_args = None )
45
+ with pytest .raises (RuntimeError ):
46
+ package_check (FAKE_NAME , setuptools_args = None )
44
47
def pkg_chk_sta (* args , ** kwargs ):
45
48
st_args = {}
46
49
package_check (* args , setuptools_args = st_args , ** kwargs )
47
50
return st_args
48
- assert_equal (pkg_chk_sta (FAKE_NAME ),
49
- {'install_requires' : ['nisext_improbable' ]})
51
+ assert pkg_chk_sta (FAKE_NAME ) == {'install_requires' : ['nisext_improbable' ]}
50
52
# Check that this gets appended to existing value
51
53
old_sta = {'install_requires' : ['something' ]}
52
54
package_check (FAKE_NAME , setuptools_args = old_sta )
53
- assert_equal (old_sta ,
54
- {'install_requires' : ['something' , 'nisext_improbable' ]})
55
+ assert old_sta == {'install_requires' : ['something' , 'nisext_improbable' ]}
55
56
# That existing value as string gets converted to a list
56
57
old_sta = {'install_requires' : 'something' }
57
58
package_check (FAKE_NAME , setuptools_args = old_sta )
58
- assert_equal (old_sta ,
59
- {'install_requires' : ['something' , 'nisext_improbable' ]})
59
+ assert old_sta == {'install_requires' : ['something' , 'nisext_improbable' ]}
60
60
# Optional, add to extras_require
61
- assert_equal (pkg_chk_sta (FAKE_NAME , optional = 'something' ),
62
- {'extras_require' : {'something' : ['nisext_improbable' ]}})
61
+ assert pkg_chk_sta (FAKE_NAME , optional = 'something' ) == {'extras_require' : {'something' : ['nisext_improbable' ]}}
63
62
# Check that this gets appended to existing value
64
63
old_sta = {'extras_require' : {'something' : ['amodule' ]}}
65
64
package_check (FAKE_NAME , optional = 'something' , setuptools_args = old_sta )
66
- assert_equal (old_sta ,
67
- {'extras_require' :
68
- {'something' : ['amodule' , 'nisext_improbable' ]}})
65
+ assert old_sta == {'extras_require' : {'something' : ['amodule' , 'nisext_improbable' ]}}
69
66
# That string gets converted to a list here too
70
67
old_sta = {'extras_require' : {'something' : 'amodule' }}
71
68
package_check (FAKE_NAME , optional = 'something' , setuptools_args = old_sta )
72
- assert_equal (old_sta ,
73
- {'extras_require' :
74
- {'something' : ['amodule' , 'nisext_improbable' ]}})
69
+ assert old_sta == {'extras_require' :
70
+ {'something' : ['amodule' , 'nisext_improbable' ]}}
75
71
# But optional has to be a string if not empty and setuptools_args defined
76
- assert_raises (RuntimeError ,
77
- package_check , FAKE_NAME , optional = True , setuptools_args = {})
72
+ with pytest . raises (RuntimeError ):
73
+ package_check ( FAKE_NAME , optional = True , setuptools_args = {})
78
74
try :
79
75
# Make a package
80
76
sys .modules [FAKE_NAME ] = FAKE_MODULE
81
77
# No install_requires because we already have it
82
- assert_equal ( pkg_chk_sta (FAKE_NAME ), {})
78
+ assert pkg_chk_sta (FAKE_NAME ) == {}
83
79
# A fake version still works
84
80
FAKE_MODULE .__version__ = '0.2'
85
- assert_equal ( pkg_chk_sta (FAKE_NAME , version = '0.2' ), {})
81
+ assert pkg_chk_sta (FAKE_NAME , version = '0.2' ) == {}
86
82
# goes into install requires when version not good enough
87
83
exp_spec = [FAKE_NAME + '>=0.3' ]
88
- assert_equal (pkg_chk_sta (FAKE_NAME , version = '0.3' ),
89
- {'install_requires' : exp_spec })
84
+ assert pkg_chk_sta (FAKE_NAME , version = '0.3' ) == {'install_requires' : exp_spec }
90
85
# Unless optional in which case goes into extras_require
91
86
package_check (FAKE_NAME , version = '0.2' , version_getter = lambda x : '0.2' )
92
- assert_equal (
93
- pkg_chk_sta (FAKE_NAME , version = '0.3' , optional = 'afeature' ),
94
- {'extras_require' : {'afeature' : exp_spec }})
87
+ assert pkg_chk_sta (FAKE_NAME , version = '0.3' , optional = 'afeature' ) == {'extras_require' : {'afeature' : exp_spec }}
95
88
# Might do custom version check
96
- assert_equal (
97
- pkg_chk_sta (FAKE_NAME ,
89
+ assert pkg_chk_sta (FAKE_NAME ,
98
90
version = '0.2' ,
99
- version_getter = lambda x : '0.2' ),
100
- {})
91
+ version_getter = lambda x : '0.2' ) == {}
101
92
# If the version check fails, put into requires
102
93
bad_getter = lambda x : x .not_an_attribute
103
94
exp_spec = [FAKE_NAME + '>=0.2' ]
104
- assert_equal (
105
- pkg_chk_sta (FAKE_NAME ,
95
+ assert pkg_chk_sta (FAKE_NAME ,
106
96
version = '0.2' ,
107
- version_getter = bad_getter ),
108
- {'install_requires' : exp_spec })
97
+ version_getter = bad_getter ) == {'install_requires' : exp_spec }
109
98
# Likewise for optional dependency
110
- assert_equal (
111
- pkg_chk_sta (FAKE_NAME ,
99
+ assert pkg_chk_sta (FAKE_NAME ,
112
100
version = '0.2' ,
113
101
optional = 'afeature' ,
114
- version_getter = bad_getter ),
115
- {'extras_require' : {'afeature' : [FAKE_NAME + '>=0.2' ]}})
102
+ version_getter = bad_getter ) == {'extras_require' : {'afeature' : [FAKE_NAME + '>=0.2' ]}}
116
103
finally :
117
104
del sys .modules [FAKE_NAME ]
0 commit comments