7
7
import io
8
8
import os
9
9
import sys
10
- import unittest
11
- from unittest .mock import call , mock_open , patch
12
10
11
+ import pytest
13
12
import requests_mock
13
+ from mock import call , mock_open , patch
14
14
15
15
from linodecli import configuration
16
16
17
17
18
- class ConfigurationTests ( unittest . TestCase ) :
18
+ class TestConfiguration :
19
19
"""
20
20
Unit tests for linodecli.configuration
21
21
"""
@@ -60,10 +60,10 @@ def test_default_username(self):
60
60
"""
61
61
conf = self ._build_test_config ()
62
62
63
- self . assertEqual ( conf .default_username (), "cli-dev" )
63
+ assert conf .default_username () == "cli-dev"
64
64
65
65
conf .config .remove_option ("DEFAULT" , "default-user" )
66
- self . assertEqual ( conf .default_username (), "" )
66
+ assert conf .default_username () == ""
67
67
68
68
def test_set_user (self ):
69
69
"""
@@ -72,13 +72,16 @@ def test_set_user(self):
72
72
conf = self ._build_test_config ()
73
73
74
74
f = io .StringIO ()
75
- with self .assertRaises (SystemExit ) as cm , contextlib .redirect_stdout (f ):
76
- conf .set_user ("bad_user" )
77
- self .assertEqual (cm .exception .code , 1 )
78
- self .assertTrue ("not configured" in f .getvalue ())
75
+
76
+ try :
77
+ with contextlib .redirect_stdout (f ):
78
+ conf .set_user ("bad_user" )
79
+ except SystemExit as err :
80
+ assert err .code == 1
81
+ assert "not configured" in f .getvalue ()
79
82
80
83
conf .set_user ("cli-dev2" )
81
- self . assertEqual ( conf .username , "cli-dev2" )
84
+ assert conf .username == "cli-dev2"
82
85
83
86
def test_remove_user (self ):
84
87
"""
@@ -87,14 +90,17 @@ def test_remove_user(self):
87
90
conf = self ._build_test_config ()
88
91
89
92
f = io .StringIO ()
90
- with self .assertRaises (SystemExit ) as cm , contextlib .redirect_stdout (f ):
91
- conf .remove_user ("cli-dev" )
92
- self .assertEqual (cm .exception .code , 1 )
93
- self .assertTrue ("default user!" in f .getvalue ())
93
+
94
+ try :
95
+ with contextlib .redirect_stdout (f ):
96
+ conf .remove_user ("cli-dev" )
97
+ except SystemExit as err :
98
+ assert err .code == 1
99
+ assert "default user!" in f .getvalue ()
94
100
95
101
with patch ("linodecli.configuration.open" , mock_open ()):
96
102
conf .remove_user ("cli-dev2" )
97
- self . assertFalse ( conf .config .has_section ("cli-dev2" ))
103
+ assert conf .config .has_section ("cli-dev2" ) is False
98
104
99
105
def test_print_users (self ):
100
106
"""
@@ -103,10 +109,13 @@ def test_print_users(self):
103
109
conf = self ._build_test_config ()
104
110
105
111
f = io .StringIO ()
106
- with self .assertRaises (SystemExit ) as cm , contextlib .redirect_stdout (f ):
107
- conf .print_users ()
108
- self .assertEqual (cm .exception .code , 0 )
109
- self .assertTrue ("* cli-dev" in f .getvalue ())
112
+
113
+ try :
114
+ with contextlib .redirect_stdout (f ):
115
+ conf .print_users ()
116
+ except SystemExit as err :
117
+ assert err .code == 0
118
+ assert "* cli-dev" in f .getvalue ()
110
119
111
120
def test_set_default_user (self ):
112
121
"""
@@ -115,60 +124,62 @@ def test_set_default_user(self):
115
124
conf = self ._build_test_config ()
116
125
117
126
f = io .StringIO ()
118
- with self .assertRaises (SystemExit ) as cm , contextlib .redirect_stdout (f ):
119
- conf .set_default_user ("bad_user" )
120
- self .assertEqual (cm .exception .code , 1 )
121
- self .assertTrue ("not configured!" in f .getvalue ())
127
+ try :
128
+ with contextlib .redirect_stdout (f ):
129
+ conf .set_default_user ("bad_user" )
130
+ except SystemExit as err :
131
+ assert err .code == 1
132
+ assert "not configured" in f .getvalue ()
122
133
123
134
with patch ("linodecli.configuration.open" , mock_open ()):
124
135
conf .set_default_user ("cli-dev2" )
125
- self . assertEqual ( conf .config .get ("DEFAULT" , "default-user" ), "cli-dev2" )
136
+ assert conf .config .get ("DEFAULT" , "default-user" ) == "cli-dev2"
126
137
127
138
def test_get_token (self ):
128
139
"""
129
140
Test CLIConfig.get_token()
130
141
"""
131
142
conf = self ._build_test_config ()
132
143
conf .used_env_token = False
133
- self . assertEqual ( conf .get_token (), self .test_token )
144
+ assert conf .get_token () == self .test_token
134
145
135
146
def test_get_value (self ):
136
147
"""
137
148
Test CLIConfig.get_value({key})
138
149
"""
139
150
conf = self ._build_test_config ()
140
- self . assertEqual ( conf .get_value ("notakey" ), None )
141
- self . assertEqual ( conf .get_value ("region" ), "us-east" )
151
+ assert conf .get_value ("notakey" ) == None
152
+ assert conf .get_value ("region" ) == "us-east"
142
153
143
154
def test_plugin_set_value (self ):
144
155
"""
145
156
Test CLIConfig.plugin_set_value({key}, {value})
146
157
"""
147
158
conf = self ._build_test_config ()
148
- with self . assertRaises (RuntimeError ):
159
+ with pytest . raises (RuntimeError ):
149
160
conf .plugin_set_value ("anykey" , "anyvalue" )
150
161
151
162
conf .running_plugin = "testplugin"
152
163
153
164
conf .plugin_set_value ("testkey" , "newvalue" )
154
165
actual = conf .config .get ("cli-dev" , "plugin-testplugin-testkey" )
155
- self . assertEqual ( actual , "newvalue" )
166
+ assert actual == "newvalue"
156
167
157
168
def test_plugin_get_value (self ):
158
169
"""
159
170
Test CLIConfig.plugin_get_value({key})
160
171
"""
161
172
conf = self ._build_test_config ()
162
- with self . assertRaises (RuntimeError ):
173
+ with pytest . raises (RuntimeError ):
163
174
conf .plugin_get_value ("anykey" )
164
175
165
176
conf .running_plugin = "testplugin"
166
177
167
178
actual = conf .plugin_get_value ("badkey" )
168
- self . assertEqual ( actual , None )
179
+ assert actual == None
169
180
170
181
actual = conf .plugin_get_value ("testkey" )
171
- self . assertEqual ( actual , "plugin-test-value" )
182
+ assert actual == "plugin-test-value"
172
183
173
184
def test_update (self ):
174
185
"""
@@ -204,26 +215,26 @@ def test_update(self):
204
215
with contextlib .redirect_stdout (f ):
205
216
result = vars (conf .update (ns , allowed_defaults ))
206
217
207
- self . assertTrue ( "--no-defaults" in f .getvalue () )
208
- self . assertEqual ( result .get ("newkey" ), "newvalue" )
209
- self . assertEqual ( result .get ("testkey" ), "testvalue" )
210
- self . assertTrue ( isinstance (result .get ("authorized_users" ), list ) )
211
- self . assertFalse ( result .get ("plugin-testplugin-testkey" ))
218
+ assert "--no-defaults" in f .getvalue ()
219
+ assert result .get ("newkey" ) == "newvalue"
220
+ assert result .get ("testkey" ) == "testvalue"
221
+ assert isinstance (result .get ("authorized_users" ), list )
222
+ assert result .get ("plugin-testplugin-testkey" ) is None
212
223
213
224
f = io .StringIO ()
214
225
sys .argv .append ("--suppress-warnings" )
215
226
with contextlib .redirect_stdout (f ):
216
227
result = vars (conf .update (ns , None ))
217
228
sys .argv .remove ("--suppress-warnings" )
218
229
219
- self . assertFalse ( "--no-defaults" in f .getvalue () )
230
+ assert "--no-defaults" not in f .getvalue ()
220
231
221
232
# test that update default engine value correctly when creating database
222
233
create_db_action = "mysql-create"
223
234
f = io .StringIO ()
224
235
with contextlib .redirect_stdout (f ):
225
236
result = vars (conf .update (ns , allowed_defaults , create_db_action ))
226
- self . assertEqual ( result .get ("engine" ), "mysql/new-test-engine" )
237
+ assert result .get ("engine" ) == "mysql/new-test-engine"
227
238
228
239
def test_write_config (self ):
229
240
"""
@@ -235,7 +246,7 @@ def test_write_config(self):
235
246
m = mock_open ()
236
247
with patch ("builtins.open" , m ):
237
248
conf .write_config ()
238
- self . assertIn ( call ("type = newvalue\n " ), m ().write .call_args_list )
249
+ assert call ("type = newvalue\n " ) in m ().write .call_args_list
239
250
240
251
def test_configure_no_default_terminal (self ):
241
252
"""
@@ -290,16 +301,14 @@ def mock_input(prompt):
290
301
)
291
302
conf .configure ()
292
303
293
- self . assertEqual ( conf .get_value ("type" ), "test-type" )
294
- self . assertEqual ( conf .get_value ("token" ), "test-token" )
295
- self . assertEqual ( conf .get_value ("image" ), "test-image" )
296
- self . assertEqual ( conf .get_value ("region" ), "test-region" )
297
- self . assertEqual ( conf .get_value ("authorized_users" ), "cli-dev" )
304
+ assert conf .get_value ("type" ) == "test-type"
305
+ assert conf .get_value ("token" ) == "test-token"
306
+ assert conf .get_value ("image" ) == "test-image"
307
+ assert conf .get_value ("region" ) == "test-region"
308
+ assert conf .get_value ("authorized_users" ) == "cli-dev"
298
309
# make sure that we set the default engine value according to type of database
299
- self .assertEqual (conf .get_value ("mysql_engine" ), "mysql/test-engine" )
300
- self .assertEqual (
301
- conf .get_value ("postgresql_engine" ), "postgresql/test-engine"
302
- )
310
+ assert conf .get_value ("mysql_engine" ) == "mysql/test-engine"
311
+ assert conf .get_value ("postgresql_engine" ) == "postgresql/test-engine"
303
312
304
313
def test_configure_default_terminal (self ):
305
314
"""
@@ -354,13 +363,11 @@ def mock_input(prompt):
354
363
)
355
364
conf .configure ()
356
365
357
- self . assertEqual ( conf .get_value ("type" ), "test-type" )
358
- self . assertEqual ( conf .get_value ("image" ), "test-image" )
359
- self . assertEqual ( conf .get_value ("region" ), "test-region" )
360
- self . assertEqual ( conf .get_value ("authorized_users" ), "cli-dev" )
361
- self . assertEqual ( conf .config .get ("DEFAULT" , "default-user" ), "DEFAULT" )
366
+ assert conf .get_value ("type" ) == "test-type"
367
+ assert conf .get_value ("image" ) == "test-image"
368
+ assert conf .get_value ("region" ) == "test-region"
369
+ assert conf .get_value ("authorized_users" ) == "cli-dev"
370
+ assert conf .config .get ("DEFAULT" , "default-user" ) == "DEFAULT"
362
371
# make sure that we set the default engine value according to type of database
363
- self .assertEqual (conf .get_value ("mysql_engine" ), "mysql/test-engine" )
364
- self .assertEqual (
365
- conf .get_value ("postgresql_engine" ), "postgresql/test-engine"
366
- )
372
+ assert conf .get_value ("mysql_engine" ) == "mysql/test-engine"
373
+ assert conf .get_value ("postgresql_engine" ) == "postgresql/test-engine"
0 commit comments