@@ -43,70 +43,75 @@ def tearDown(self):
43
43
44
44
def test_read_key_when_environment_variable_set (self ):
45
45
os .environ ['NASDAQ_DATA_LINK_API_KEY' ] = 'setinenv'
46
- ApiConfig .api_key = None
47
- read_key ()
48
- self .assertEqual (ApiConfig .api_key , "setinenv" )
46
+ api_config = ApiConfig ()
47
+ self .assertEqual (api_config .api_key , "setinenv" )
49
48
50
49
51
50
def test_read_key_environment_variable_takes_precedence (self ):
52
51
os .environ ['NASDAQ_DATA_LINK_API_KEY' ] = 'setinenvprecedence'
53
- save_key ("keyforfilenot" , TEST_KEY_FILE )
54
- ApiConfig .api_key = None
55
- read_key ()
56
- self .assertEqual (ApiConfig .api_key , "setinenvprecedence" )
52
+ api_config = ApiConfig ()
53
+ api_config .save_key ("keyforfilenot" , TEST_KEY_FILE )
54
+ api_config .api_key = None
55
+ api_config .read_key ()
56
+ self .assertEqual (api_config .api_key , "setinenvprecedence" )
57
57
58
58
59
59
def test_read_key_when_environment_variable_not_set (self ):
60
- save_key ("keyforfile" , TEST_KEY_FILE )
61
- ApiConfig .api_key = None # Set None, we are not testing save_key
62
- read_key (TEST_KEY_FILE )
63
- self .assertEqual (ApiConfig .api_key , 'keyforfile' )
60
+ api_config = ApiConfig ()
61
+ api_config .save_key ("keyforfile" , TEST_KEY_FILE )
62
+ api_config .api_key = None # Set None, we are not testing save_key
63
+ api_config .read_key (TEST_KEY_FILE )
64
+ self .assertEqual (api_config .api_key , 'keyforfile' )
64
65
65
66
66
67
def test_read_key_empty_file (self ):
67
- with mock .patch ("nasdaqdatalink.api_config.default_config_filename" ) as mock_default_config_filename :
68
+ with mock .patch ("nasdaqdatalink.api_config.ApiConfig. default_config_filename" ) as mock_default_config_filename :
68
69
mock_default_config_filename .return_value = TEST_DEFAULT_FILE
69
- save_key ("" )
70
+ api_config = ApiConfig ()
71
+ api_config .save_key ("" )
70
72
with self .assertRaises (ValueError ):
71
- read_key ()
73
+ api_config . read_key ()
72
74
73
75
74
76
def test_read_key_when_env_key_empty (self ):
75
77
os .environ ['NASDAQ_DATA_LINK_API_KEY' ] = ''
76
78
with self .assertRaises (ValueError ):
77
- read_key ()
79
+ ApiConfig (). read_key ()
78
80
79
81
80
82
def test_read_key_when_files_not_set (self ):
81
- ApiConfig .api_key = None
82
- with mock .patch ("nasdaqdatalink.api_config.default_config_filename" ) as mock_default_config_filename :
83
+ api_config = ApiConfig ()
84
+ api_config .api_key = None
85
+ with mock .patch ("nasdaqdatalink.api_config.ApiConfig.default_config_filename" ) as mock_default_config_filename :
83
86
mock_default_config_filename .return_value = TEST_DEFAULT_FILE
84
- read_key ()
87
+ api_config . read_key ()
85
88
86
89
mock_default_config_filename .assert_called_once
87
- self .assertEqual (ApiConfig .api_key , None )
90
+ self .assertEqual (api_config .api_key , None )
88
91
89
92
90
93
def test_read_key_when_default_file_set (self ):
91
- save_key ("keyfordefaultfile" , TEST_DEFAULT_FILE )
92
- ApiConfig .api_key = None # Set None, we are not testing save_key
94
+ api_config = ApiConfig ()
95
+ api_config .save_key ("keyfordefaultfile" , TEST_DEFAULT_FILE )
96
+ api_config .api_key = None # Set None, we are not testing save_key
93
97
94
- with mock .patch ("nasdaqdatalink.api_config.default_config_filename" ) as mock_default_config_filename :
98
+ with mock .patch ("nasdaqdatalink.api_config.ApiConfig. default_config_filename" ) as mock_default_config_filename :
95
99
mock_default_config_filename .return_value = TEST_DEFAULT_FILE
96
- read_key ()
100
+ api_config . read_key ()
97
101
98
- self .assertEqual (ApiConfig .api_key , 'keyfordefaultfile' )
102
+ self .assertEqual (api_config .api_key , 'keyfordefaultfile' )
99
103
100
104
101
105
def _read_key_from_file_helper (self , given , expected ):
102
- save_key (given , TEST_DEFAULT_FILE )
103
- ApiConfig .api_key = None # Set None, we are not testing save_key
106
+ api_config = ApiConfig ()
107
+ api_config .save_key (given , TEST_DEFAULT_FILE )
108
+ api_config .api_key = None # Set None, we are not testing save_key
104
109
105
- with mock .patch ("nasdaqdatalink.api_config.default_config_filename" ) as mock_default_config_filename :
110
+ with mock .patch ("nasdaqdatalink.api_config.ApiConfig. default_config_filename" ) as mock_default_config_filename :
106
111
mock_default_config_filename .return_value = TEST_DEFAULT_FILE
107
- read_key ()
112
+ api_config . read_key ()
108
113
109
- self .assertEqual (ApiConfig .api_key , expected )
114
+ self .assertEqual (api_config .api_key , expected )
110
115
111
116
112
117
def test_read_key_from_file_with_newline (self ):
@@ -136,12 +141,12 @@ def test_read_key_from_file_with_multi_newline(self):
136
141
def test_default_instance_will_have_share_values_with_singleton (self ):
137
142
os .environ ['NASDAQ_DATA_LINK_API_KEY' ] = 'setinenv'
138
143
ApiConfig .api_key = None
139
- read_key ()
140
144
api_config = ApiConfig ()
145
+ api_config .read_key ()
141
146
self .assertEqual (api_config .api_key , "setinenv" )
142
147
# make sure change in instance will not affect the singleton
143
- api_config .api_key = None
144
- self .assertEqual (ApiConfig .api_key , "setinenv" )
148
+ api_config .api_key = 'foo'
149
+ self .assertIsNone (ApiConfig .api_key )
145
150
146
151
def test_get_config_from_kwargs_return_api_config_if_present (self ):
147
152
api_config = get_config_from_kwargs ({
@@ -164,26 +169,17 @@ def test_get_config_from_kwargs_return_singleton_if_not_present_or_wrong_type(se
164
169
self .assertTrue (issubclass (api_config , ApiConfig ))
165
170
self .assertFalse (isinstance (api_config , ApiConfig ))
166
171
167
- def test_instance_read_key_should_raise_error (self ):
168
- api_config = ApiConfig ()
169
- with self .assertRaises (TypeError ):
170
- api_config .read_key (None )
171
- with self .assertRaises (ValueError ):
172
- api_config .read_key ('' )
173
-
174
172
def test_instance_read_key_should_raise_error_when_empty (self ):
175
- save_key ("" , TEST_KEY_FILE )
176
173
api_config = ApiConfig ()
174
+ api_config .save_key ("" , TEST_KEY_FILE )
177
175
with self .assertRaises (ValueError ):
178
176
# read empty file
179
177
api_config .read_key (TEST_KEY_FILE )
180
178
181
179
def test_instance_read_the_right_key (self ):
182
180
expected_key = 'ilovepython'
183
- save_key (expected_key , TEST_KEY_FILE )
184
181
api_config = ApiConfig ()
182
+ api_config .save_key (expected_key , TEST_KEY_FILE )
185
183
api_config .api_key = ''
186
184
api_config .read_key (TEST_KEY_FILE )
187
- self .assertEqual (ApiConfig .api_key , expected_key )
188
-
189
-
185
+ self .assertEqual (api_config .api_key , expected_key )
0 commit comments