Merge ~bjornt/maas:refresh-mock-leak into maas:master
- Git
- lp:~bjornt/maas
- refresh-mock-leak
- Merge into master
Proposed by
Björn Tillenius
Status: | Merged |
---|---|
Approved by: | Björn Tillenius |
Approved revision: | 6e5b2c1a99f649b09cad8942d8ea48c99ce3b6fe |
Merge reported by: | MAAS Lander |
Merged at revision: | not available |
Proposed branch: | ~bjornt/maas:refresh-mock-leak |
Merge into: | maas:master |
Diff against target: |
310 lines (+71/-30) 1 file modified
src/provisioningserver/refresh/tests/test_refresh.py (+71/-30) |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Adam Collard (community) | Approve | ||
Alberto Donato (community) | Approve | ||
MAAS Lander | unittests | Pending | |
Review via email:
|
Commit message
Fix refresh tests not to leak changed NODE_INFO_SCRIPTS.
The refresh tests changed the NODE_INFO_SCRIPTS dict, but they didn't
replace it with the original dict after the tests had be ran.
This causes other tests to fail, depending on which order they are run
in.
Description of the change
To post a comment you must log in.
Revision history for this message
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Adam Collard (adam-collard) : | # |
review:
Approve
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | diff --git a/src/provisioningserver/refresh/tests/test_refresh.py b/src/provisioningserver/refresh/tests/test_refresh.py | |||
2 | index a11097d..f3fbebd 100644 | |||
3 | --- a/src/provisioningserver/refresh/tests/test_refresh.py | |||
4 | +++ b/src/provisioningserver/refresh/tests/test_refresh.py | |||
5 | @@ -60,7 +60,7 @@ class TestRefresh(MAASTestCase): | |||
6 | 60 | if os.path.exists(path): | 60 | if os.path.exists(path): |
7 | 61 | os.remove(path) | 61 | os.remove(path) |
8 | 62 | 62 | ||
10 | 63 | def patch_scripts_success(self, script_name=None, script_content=None): | 63 | def create_scripts_success(self, script_name=None, script_content=None): |
11 | 64 | if script_name is None: | 64 | if script_name is None: |
12 | 65 | script_name = factory.make_name("script_name") | 65 | script_name = factory.make_name("script_name") |
13 | 66 | if script_content is None: | 66 | if script_content is None: |
14 | @@ -79,11 +79,11 @@ class TestRefresh(MAASTestCase): | |||
15 | 79 | os.chmod(script_path, st.st_mode | stat.S_IEXEC) | 79 | os.chmod(script_path, st.st_mode | stat.S_IEXEC) |
16 | 80 | self.addCleanup(self._cleanup, script_path) | 80 | self.addCleanup(self._cleanup, script_path) |
17 | 81 | 81 | ||
19 | 82 | refresh.NODE_INFO_SCRIPTS = OrderedDict( | 82 | return OrderedDict( |
20 | 83 | [(script_name, {"name": script_name, "run_on_controller": True})] | 83 | [(script_name, {"name": script_name, "run_on_controller": True})] |
21 | 84 | ) | 84 | ) |
22 | 85 | 85 | ||
24 | 86 | def patch_scripts_failure(self, script_name=None): | 86 | def create_scripts_failure(self, script_name=None): |
25 | 87 | if script_name is None: | 87 | if script_name is None: |
26 | 88 | script_name = factory.make_name("script_name") | 88 | script_name = factory.make_name("script_name") |
27 | 89 | TEST_SCRIPT = dedent( | 89 | TEST_SCRIPT = dedent( |
28 | @@ -102,14 +102,14 @@ class TestRefresh(MAASTestCase): | |||
29 | 102 | os.chmod(script_path, st.st_mode | stat.S_IEXEC) | 102 | os.chmod(script_path, st.st_mode | stat.S_IEXEC) |
30 | 103 | self.addCleanup(self._cleanup, script_path) | 103 | self.addCleanup(self._cleanup, script_path) |
31 | 104 | 104 | ||
33 | 105 | refresh.NODE_INFO_SCRIPTS = OrderedDict( | 105 | return OrderedDict( |
34 | 106 | [(script_name, {"name": script_name, "run_on_controller": True})] | 106 | [(script_name, {"name": script_name, "run_on_controller": True})] |
35 | 107 | ) | 107 | ) |
36 | 108 | 108 | ||
37 | 109 | def test_refresh_accepts_defined_url(self): | 109 | def test_refresh_accepts_defined_url(self): |
38 | 110 | signal = self.patch(refresh, "signal") | 110 | signal = self.patch(refresh, "signal") |
39 | 111 | script_name = factory.make_name("script_name") | 111 | script_name = factory.make_name("script_name") |
41 | 112 | self.patch_scripts_success(script_name) | 112 | info_scripts = self.create_scripts_success(script_name) |
42 | 113 | 113 | ||
43 | 114 | system_id = factory.make_name("system_id") | 114 | system_id = factory.make_name("system_id") |
44 | 115 | consumer_key = factory.make_name("consumer_key") | 115 | consumer_key = factory.make_name("consumer_key") |
45 | @@ -117,7 +117,10 @@ class TestRefresh(MAASTestCase): | |||
46 | 117 | token_secret = factory.make_name("token_secret") | 117 | token_secret = factory.make_name("token_secret") |
47 | 118 | url = factory.make_url() | 118 | url = factory.make_url() |
48 | 119 | 119 | ||
50 | 120 | refresh.refresh(system_id, consumer_key, token_key, token_secret, url) | 120 | with patch.dict(refresh.NODE_INFO_SCRIPTS, info_scripts, clear=True): |
51 | 121 | refresh.refresh( | ||
52 | 122 | system_id, consumer_key, token_key, token_secret, url | ||
53 | 123 | ) | ||
54 | 121 | self.assertThat( | 124 | self.assertThat( |
55 | 122 | signal, | 125 | signal, |
56 | 123 | MockAnyCall( | 126 | MockAnyCall( |
57 | @@ -136,7 +139,7 @@ class TestRefresh(MAASTestCase): | |||
58 | 136 | def test_refresh_signals_starting(self): | 139 | def test_refresh_signals_starting(self): |
59 | 137 | signal = self.patch(refresh, "signal") | 140 | signal = self.patch(refresh, "signal") |
60 | 138 | script_name = factory.make_name("script_name") | 141 | script_name = factory.make_name("script_name") |
62 | 139 | self.patch_scripts_success(script_name) | 142 | info_scripts = self.create_scripts_success(script_name) |
63 | 140 | 143 | ||
64 | 141 | system_id = factory.make_name("system_id") | 144 | system_id = factory.make_name("system_id") |
65 | 142 | consumer_key = factory.make_name("consumer_key") | 145 | consumer_key = factory.make_name("consumer_key") |
66 | @@ -144,7 +147,10 @@ class TestRefresh(MAASTestCase): | |||
67 | 144 | token_secret = factory.make_name("token_secret") | 147 | token_secret = factory.make_name("token_secret") |
68 | 145 | url = factory.make_url() | 148 | url = factory.make_url() |
69 | 146 | 149 | ||
71 | 147 | refresh.refresh(system_id, consumer_key, token_key, token_secret, url) | 150 | with patch.dict(refresh.NODE_INFO_SCRIPTS, info_scripts, clear=True): |
72 | 151 | refresh.refresh( | ||
73 | 152 | system_id, consumer_key, token_key, token_secret, url | ||
74 | 153 | ) | ||
75 | 148 | self.assertThat( | 154 | self.assertThat( |
76 | 149 | signal, | 155 | signal, |
77 | 150 | MockAnyCall( | 156 | MockAnyCall( |
78 | @@ -170,7 +176,9 @@ class TestRefresh(MAASTestCase): | |||
79 | 170 | echo '{status: skipped}' > $RESULT_PATH | 176 | echo '{status: skipped}' > $RESULT_PATH |
80 | 171 | """ | 177 | """ |
81 | 172 | ) | 178 | ) |
83 | 173 | self.patch_scripts_success(script_name, script_content=script_content) | 179 | info_scripts = self.create_scripts_success( |
84 | 180 | script_name, script_content=script_content | ||
85 | 181 | ) | ||
86 | 174 | 182 | ||
87 | 175 | system_id = factory.make_name("system_id") | 183 | system_id = factory.make_name("system_id") |
88 | 176 | consumer_key = factory.make_name("consumer_key") | 184 | consumer_key = factory.make_name("consumer_key") |
89 | @@ -178,7 +186,10 @@ class TestRefresh(MAASTestCase): | |||
90 | 178 | token_secret = factory.make_name("token_secret") | 186 | token_secret = factory.make_name("token_secret") |
91 | 179 | url = factory.make_url() | 187 | url = factory.make_url() |
92 | 180 | 188 | ||
94 | 181 | refresh.refresh(system_id, consumer_key, token_key, token_secret, url) | 189 | with patch.dict(refresh.NODE_INFO_SCRIPTS, info_scripts, clear=True): |
95 | 190 | refresh.refresh( | ||
96 | 191 | system_id, consumer_key, token_key, token_secret, url | ||
97 | 192 | ) | ||
98 | 182 | self.assertThat( | 193 | self.assertThat( |
99 | 183 | signal, | 194 | signal, |
100 | 184 | MockAnyCall( | 195 | MockAnyCall( |
101 | @@ -204,7 +215,7 @@ class TestRefresh(MAASTestCase): | |||
102 | 204 | def test_refresh_sets_env_vars(self): | 215 | def test_refresh_sets_env_vars(self): |
103 | 205 | self.patch(refresh, "signal") | 216 | self.patch(refresh, "signal") |
104 | 206 | script_name = factory.make_name("script_name") | 217 | script_name = factory.make_name("script_name") |
106 | 207 | self.patch_scripts_failure(script_name) | 218 | info_scripts = self.create_scripts_failure(script_name) |
107 | 208 | mock_popen = self.patch(refresh, "Popen") | 219 | mock_popen = self.patch(refresh, "Popen") |
108 | 209 | mock_popen.side_effect = OSError(8, "Exec format error") | 220 | mock_popen.side_effect = OSError(8, "Exec format error") |
109 | 210 | 221 | ||
110 | @@ -214,7 +225,10 @@ class TestRefresh(MAASTestCase): | |||
111 | 214 | token_secret = factory.make_name("token_secret") | 225 | token_secret = factory.make_name("token_secret") |
112 | 215 | url = factory.make_url() | 226 | url = factory.make_url() |
113 | 216 | 227 | ||
115 | 217 | refresh.refresh(system_id, consumer_key, token_key, token_secret, url) | 228 | with patch.dict(refresh.NODE_INFO_SCRIPTS, info_scripts, clear=True): |
116 | 229 | refresh.refresh( | ||
117 | 230 | system_id, consumer_key, token_key, token_secret, url | ||
118 | 231 | ) | ||
119 | 218 | 232 | ||
120 | 219 | env = mock_popen.call_args[1]["env"] | 233 | env = mock_popen.call_args[1]["env"] |
121 | 220 | for name in [ | 234 | for name in [ |
122 | @@ -229,7 +243,7 @@ class TestRefresh(MAASTestCase): | |||
123 | 229 | def test_refresh_signals_failure_on_unexecutable_script(self): | 243 | def test_refresh_signals_failure_on_unexecutable_script(self): |
124 | 230 | signal = self.patch(refresh, "signal") | 244 | signal = self.patch(refresh, "signal") |
125 | 231 | script_name = factory.make_name("script_name") | 245 | script_name = factory.make_name("script_name") |
127 | 232 | self.patch_scripts_failure(script_name) | 246 | info_scripts = self.create_scripts_failure(script_name) |
128 | 233 | mock_popen = self.patch(refresh, "Popen") | 247 | mock_popen = self.patch(refresh, "Popen") |
129 | 234 | mock_popen.side_effect = OSError(8, "Exec format error") | 248 | mock_popen.side_effect = OSError(8, "Exec format error") |
130 | 235 | 249 | ||
131 | @@ -239,7 +253,10 @@ class TestRefresh(MAASTestCase): | |||
132 | 239 | token_secret = factory.make_name("token_secret") | 253 | token_secret = factory.make_name("token_secret") |
133 | 240 | url = factory.make_url() | 254 | url = factory.make_url() |
134 | 241 | 255 | ||
136 | 242 | refresh.refresh(system_id, consumer_key, token_key, token_secret, url) | 256 | with patch.dict(refresh.NODE_INFO_SCRIPTS, info_scripts, clear=True): |
137 | 257 | refresh.refresh( | ||
138 | 258 | system_id, consumer_key, token_key, token_secret, url | ||
139 | 259 | ) | ||
140 | 243 | self.assertThat( | 260 | self.assertThat( |
141 | 244 | signal, | 261 | signal, |
142 | 245 | MockAnyCall( | 262 | MockAnyCall( |
143 | @@ -263,7 +280,7 @@ class TestRefresh(MAASTestCase): | |||
144 | 263 | def test_refresh_signals_failure_on_unexecutable_script_no_errno(self): | 280 | def test_refresh_signals_failure_on_unexecutable_script_no_errno(self): |
145 | 264 | signal = self.patch(refresh, "signal") | 281 | signal = self.patch(refresh, "signal") |
146 | 265 | script_name = factory.make_name("script_name") | 282 | script_name = factory.make_name("script_name") |
148 | 266 | self.patch_scripts_failure(script_name) | 283 | info_scripts = self.create_scripts_failure(script_name) |
149 | 267 | mock_popen = self.patch(refresh, "Popen") | 284 | mock_popen = self.patch(refresh, "Popen") |
150 | 268 | mock_popen.side_effect = OSError() | 285 | mock_popen.side_effect = OSError() |
151 | 269 | 286 | ||
152 | @@ -273,7 +290,10 @@ class TestRefresh(MAASTestCase): | |||
153 | 273 | token_secret = factory.make_name("token_secret") | 290 | token_secret = factory.make_name("token_secret") |
154 | 274 | url = factory.make_url() | 291 | url = factory.make_url() |
155 | 275 | 292 | ||
157 | 276 | refresh.refresh(system_id, consumer_key, token_key, token_secret, url) | 293 | with patch.dict(refresh.NODE_INFO_SCRIPTS, info_scripts, clear=True): |
158 | 294 | refresh.refresh( | ||
159 | 295 | system_id, consumer_key, token_key, token_secret, url | ||
160 | 296 | ) | ||
161 | 277 | self.assertThat( | 297 | self.assertThat( |
162 | 278 | signal, | 298 | signal, |
163 | 279 | MockAnyCall( | 299 | MockAnyCall( |
164 | @@ -297,7 +317,7 @@ class TestRefresh(MAASTestCase): | |||
165 | 297 | def test_refresh_signals_failure_on_unexecutable_script_baderrno(self): | 317 | def test_refresh_signals_failure_on_unexecutable_script_baderrno(self): |
166 | 298 | signal = self.patch(refresh, "signal") | 318 | signal = self.patch(refresh, "signal") |
167 | 299 | script_name = factory.make_name("script_name") | 319 | script_name = factory.make_name("script_name") |
169 | 300 | self.patch_scripts_failure(script_name) | 320 | info_scripts = self.create_scripts_failure(script_name) |
170 | 301 | mock_popen = self.patch(refresh, "Popen") | 321 | mock_popen = self.patch(refresh, "Popen") |
171 | 302 | mock_popen.side_effect = OSError(0, "Exec format error") | 322 | mock_popen.side_effect = OSError(0, "Exec format error") |
172 | 303 | 323 | ||
173 | @@ -307,7 +327,10 @@ class TestRefresh(MAASTestCase): | |||
174 | 307 | token_secret = factory.make_name("token_secret") | 327 | token_secret = factory.make_name("token_secret") |
175 | 308 | url = factory.make_url() | 328 | url = factory.make_url() |
176 | 309 | 329 | ||
178 | 310 | refresh.refresh(system_id, consumer_key, token_key, token_secret, url) | 330 | with patch.dict(refresh.NODE_INFO_SCRIPTS, info_scripts, clear=True): |
179 | 331 | refresh.refresh( | ||
180 | 332 | system_id, consumer_key, token_key, token_secret, url | ||
181 | 333 | ) | ||
182 | 311 | self.assertThat( | 334 | self.assertThat( |
183 | 312 | signal, | 335 | signal, |
184 | 313 | MockAnyCall( | 336 | MockAnyCall( |
185 | @@ -331,7 +354,7 @@ class TestRefresh(MAASTestCase): | |||
186 | 331 | def test_refresh_signals_failure_on_timeout(self): | 354 | def test_refresh_signals_failure_on_timeout(self): |
187 | 332 | signal = self.patch(refresh, "signal") | 355 | signal = self.patch(refresh, "signal") |
188 | 333 | script_name = factory.make_name("script_name") | 356 | script_name = factory.make_name("script_name") |
190 | 334 | self.patch_scripts_failure(script_name) | 357 | info_scripts = self.create_scripts_failure(script_name) |
191 | 335 | 358 | ||
192 | 336 | system_id = factory.make_name("system_id") | 359 | system_id = factory.make_name("system_id") |
193 | 337 | consumer_key = factory.make_name("consumer_key") | 360 | consumer_key = factory.make_name("consumer_key") |
194 | @@ -351,7 +374,10 @@ class TestRefresh(MAASTestCase): | |||
195 | 351 | refresh, "capture_script_output" | 374 | refresh, "capture_script_output" |
196 | 352 | ) | 375 | ) |
197 | 353 | mock_capture_script_output.side_effect = timeout_run | 376 | mock_capture_script_output.side_effect = timeout_run |
199 | 354 | refresh.refresh(system_id, consumer_key, token_key, token_secret, url) | 377 | with patch.dict(refresh.NODE_INFO_SCRIPTS, info_scripts, clear=True): |
200 | 378 | refresh.refresh( | ||
201 | 379 | system_id, consumer_key, token_key, token_secret, url | ||
202 | 380 | ) | ||
203 | 355 | 381 | ||
204 | 356 | self.assertThat( | 382 | self.assertThat( |
205 | 357 | signal, | 383 | signal, |
206 | @@ -376,7 +402,7 @@ class TestRefresh(MAASTestCase): | |||
207 | 376 | def test_refresh_signals_finished(self): | 402 | def test_refresh_signals_finished(self): |
208 | 377 | signal = self.patch(refresh, "signal") | 403 | signal = self.patch(refresh, "signal") |
209 | 378 | script_name = factory.make_name("script_name") | 404 | script_name = factory.make_name("script_name") |
211 | 379 | self.patch_scripts_success(script_name) | 405 | info_scripts = self.create_scripts_success(script_name) |
212 | 380 | 406 | ||
213 | 381 | system_id = factory.make_name("system_id") | 407 | system_id = factory.make_name("system_id") |
214 | 382 | consumer_key = factory.make_name("consumer_key") | 408 | consumer_key = factory.make_name("consumer_key") |
215 | @@ -384,7 +410,10 @@ class TestRefresh(MAASTestCase): | |||
216 | 384 | token_secret = factory.make_name("token_secret") | 410 | token_secret = factory.make_name("token_secret") |
217 | 385 | url = factory.make_url() | 411 | url = factory.make_url() |
218 | 386 | 412 | ||
220 | 387 | refresh.refresh(system_id, consumer_key, token_key, token_secret, url) | 413 | with patch.dict(refresh.NODE_INFO_SCRIPTS, info_scripts, clear=True): |
221 | 414 | refresh.refresh( | ||
222 | 415 | system_id, consumer_key, token_key, token_secret, url | ||
223 | 416 | ) | ||
224 | 388 | self.assertThat( | 417 | self.assertThat( |
225 | 389 | signal, | 418 | signal, |
226 | 390 | MockAnyCall( | 419 | MockAnyCall( |
227 | @@ -402,7 +431,7 @@ class TestRefresh(MAASTestCase): | |||
228 | 402 | 431 | ||
229 | 403 | def test_refresh_signals_failure(self): | 432 | def test_refresh_signals_failure(self): |
230 | 404 | signal = self.patch(refresh, "signal") | 433 | signal = self.patch(refresh, "signal") |
232 | 405 | self.patch_scripts_failure() | 434 | info_scripts = self.create_scripts_failure() |
233 | 406 | 435 | ||
234 | 407 | system_id = factory.make_name("system_id") | 436 | system_id = factory.make_name("system_id") |
235 | 408 | consumer_key = factory.make_name("consumer_key") | 437 | consumer_key = factory.make_name("consumer_key") |
236 | @@ -410,7 +439,10 @@ class TestRefresh(MAASTestCase): | |||
237 | 410 | token_secret = factory.make_name("token_secret") | 439 | token_secret = factory.make_name("token_secret") |
238 | 411 | url = factory.make_url() | 440 | url = factory.make_url() |
239 | 412 | 441 | ||
241 | 413 | refresh.refresh(system_id, consumer_key, token_key, token_secret, url) | 442 | with patch.dict(refresh.NODE_INFO_SCRIPTS, info_scripts, clear=True): |
242 | 443 | refresh.refresh( | ||
243 | 444 | system_id, consumer_key, token_key, token_secret, url | ||
244 | 445 | ) | ||
245 | 414 | self.assertThat( | 446 | self.assertThat( |
246 | 415 | signal, | 447 | signal, |
247 | 416 | MockAnyCall( | 448 | MockAnyCall( |
248 | @@ -429,7 +461,7 @@ class TestRefresh(MAASTestCase): | |||
249 | 429 | def test_refresh_executes_lxd_binary(self): | 461 | def test_refresh_executes_lxd_binary(self): |
250 | 430 | signal = self.patch(refresh, "signal") | 462 | signal = self.patch(refresh, "signal") |
251 | 431 | script_name = LXD_OUTPUT_NAME | 463 | script_name = LXD_OUTPUT_NAME |
253 | 432 | self.patch_scripts_success(script_name) | 464 | info_scripts = self.create_scripts_success(script_name) |
254 | 433 | 465 | ||
255 | 434 | system_id = factory.make_name("system_id") | 466 | system_id = factory.make_name("system_id") |
256 | 435 | consumer_key = factory.make_name("consumer_key") | 467 | consumer_key = factory.make_name("consumer_key") |
257 | @@ -437,7 +469,10 @@ class TestRefresh(MAASTestCase): | |||
258 | 437 | token_secret = factory.make_name("token_secret") | 469 | token_secret = factory.make_name("token_secret") |
259 | 438 | url = factory.make_url() | 470 | url = factory.make_url() |
260 | 439 | 471 | ||
262 | 440 | refresh.refresh(system_id, consumer_key, token_key, token_secret, url) | 472 | with patch.dict(refresh.NODE_INFO_SCRIPTS, info_scripts, clear=True): |
263 | 473 | refresh.refresh( | ||
264 | 474 | system_id, consumer_key, token_key, token_secret, url | ||
265 | 475 | ) | ||
266 | 441 | self.assertThat( | 476 | self.assertThat( |
267 | 442 | signal, | 477 | signal, |
268 | 443 | MockAnyCall( | 478 | MockAnyCall( |
269 | @@ -456,7 +491,7 @@ class TestRefresh(MAASTestCase): | |||
270 | 456 | def test_refresh_executes_lxd_binary_in_snap(self): | 491 | def test_refresh_executes_lxd_binary_in_snap(self): |
271 | 457 | signal = self.patch(refresh, "signal") | 492 | signal = self.patch(refresh, "signal") |
272 | 458 | script_name = LXD_OUTPUT_NAME | 493 | script_name = LXD_OUTPUT_NAME |
274 | 459 | self.patch_scripts_success(script_name) | 494 | info_scripts = self.create_scripts_success(script_name) |
275 | 460 | path = factory.make_name() | 495 | path = factory.make_name() |
276 | 461 | self.patch(os, "environ", {"SNAP": path}) | 496 | self.patch(os, "environ", {"SNAP": path}) |
277 | 462 | 497 | ||
278 | @@ -466,7 +501,10 @@ class TestRefresh(MAASTestCase): | |||
279 | 466 | token_secret = factory.make_name("token_secret") | 501 | token_secret = factory.make_name("token_secret") |
280 | 467 | url = factory.make_url() | 502 | url = factory.make_url() |
281 | 468 | 503 | ||
283 | 469 | refresh.refresh(system_id, consumer_key, token_key, token_secret, url) | 504 | with patch.dict(refresh.NODE_INFO_SCRIPTS, info_scripts, clear=True): |
284 | 505 | refresh.refresh( | ||
285 | 506 | system_id, consumer_key, token_key, token_secret, url | ||
286 | 507 | ) | ||
287 | 470 | self.assertThat( | 508 | self.assertThat( |
288 | 471 | signal, | 509 | signal, |
289 | 472 | MockAnyCall( | 510 | MockAnyCall( |
290 | @@ -527,7 +565,7 @@ class TestRefresh(MAASTestCase): | |||
291 | 527 | maaslog = self.patch(refresh.maaslog, "error") | 565 | maaslog = self.patch(refresh.maaslog, "error") |
292 | 528 | error = factory.make_string() | 566 | error = factory.make_string() |
293 | 529 | signal.side_effect = SignalException(error) | 567 | signal.side_effect = SignalException(error) |
295 | 530 | self.patch_scripts_failure() | 568 | info_scripts = self.create_scripts_failure() |
296 | 531 | 569 | ||
297 | 532 | system_id = factory.make_name("system_id") | 570 | system_id = factory.make_name("system_id") |
298 | 533 | consumer_key = factory.make_name("consumer_key") | 571 | consumer_key = factory.make_name("consumer_key") |
299 | @@ -535,7 +573,10 @@ class TestRefresh(MAASTestCase): | |||
300 | 535 | token_secret = factory.make_name("token_secret") | 573 | token_secret = factory.make_name("token_secret") |
301 | 536 | url = factory.make_url() | 574 | url = factory.make_url() |
302 | 537 | 575 | ||
304 | 538 | refresh.refresh(system_id, consumer_key, token_key, token_secret, url) | 576 | with patch.dict(refresh.NODE_INFO_SCRIPTS, info_scripts, clear=True): |
305 | 577 | refresh.refresh( | ||
306 | 578 | system_id, consumer_key, token_key, token_secret, url | ||
307 | 579 | ) | ||
308 | 539 | 580 | ||
309 | 540 | self.assertThat( | 581 | self.assertThat( |
310 | 541 | maaslog, MockAnyCall("Error during controller refresh: %s" % error) | 582 | maaslog, MockAnyCall("Error during controller refresh: %s" % error) |
LGTM!