@@ -112,7 +112,9 @@ def test_cleanup_project_full_success_coordination(
112
112
# Verify service coordination sequence
113
113
manager ._volume_service .exists .assert_called_once_with (project_id )
114
114
manager ._svm_service .exists .assert_called_once_with (project_id )
115
- manager ._volume_service .delete_volume .assert_called_once_with (project_id , force = True )
115
+ manager ._volume_service .delete_volume .assert_called_once_with (
116
+ project_id , force = True
117
+ )
116
118
manager ._svm_service .delete_svm .assert_called_once_with (project_id )
117
119
118
120
assert result == {"volume" : True , "svm" : True }
@@ -135,7 +137,9 @@ def test_cleanup_project_volume_failure_coordination(
135
137
result = manager .cleanup_project (project_id )
136
138
137
139
# Verify volume service was called but SVM service was not
138
- manager ._volume_service .delete_volume .assert_called_once_with (project_id , force = True )
140
+ manager ._volume_service .delete_volume .assert_called_once_with (
141
+ project_id , force = True
142
+ )
139
143
manager ._svm_service .delete_svm .assert_not_called ()
140
144
141
145
assert result == {"volume" : False , "svm" : False }
@@ -158,7 +162,9 @@ def test_cleanup_project_partial_failure_coordination(
158
162
result = manager .cleanup_project (project_id )
159
163
160
164
# Verify both services were called
161
- manager ._volume_service .delete_volume .assert_called_once_with (project_id , force = True )
165
+ manager ._volume_service .delete_volume .assert_called_once_with (
166
+ project_id , force = True
167
+ )
162
168
manager ._svm_service .delete_svm .assert_called_once_with (project_id )
163
169
164
170
assert result == {"volume" : True , "svm" : False }
@@ -202,7 +208,9 @@ def test_cleanup_project_mixed_existence_scenarios(
202
208
203
209
result = manager .cleanup_project ("test-project-1" )
204
210
205
- manager ._volume_service .delete_volume .assert_called_once_with ("test-project-1" , force = True )
211
+ manager ._volume_service .delete_volume .assert_called_once_with (
212
+ "test-project-1" , force = True
213
+ )
206
214
manager ._svm_service .delete_svm .assert_not_called ()
207
215
assert result == {"volume" : True , "svm" : True }
208
216
@@ -242,7 +250,8 @@ def test_cleanup_project_exception_handling_coordination(
242
250
manager ._svm_service .delete_svm .assert_not_called ()
243
251
assert result == {"volume" : False , "svm" : False }
244
252
245
- # Test SVM service exception after successful volume deletion (new manager instance)
253
+ # Test SVM service exception after successful volume deletion (new
254
+ # manager instance)
246
255
manager2 = NetAppManager (mock_config_file )
247
256
manager2 ._volume_service .exists = MagicMock (return_value = True )
248
257
manager2 ._volume_service .delete_volume = MagicMock (return_value = True )
@@ -254,7 +263,9 @@ def test_cleanup_project_exception_handling_coordination(
254
263
result = manager2 .cleanup_project (project_id )
255
264
256
265
# Verify both services were called despite SVM failure
257
- manager2 ._volume_service .delete_volume .assert_called_once_with (project_id , force = True )
266
+ manager2 ._volume_service .delete_volume .assert_called_once_with (
267
+ project_id , force = True
268
+ )
258
269
manager2 ._svm_service .delete_svm .assert_called_once_with (project_id )
259
270
assert result == {"volume" : True , "svm" : False }
260
271
@@ -268,15 +279,21 @@ def test_cleanup_project_existence_check_failures(
268
279
project_id = "test-project-123"
269
280
270
281
# Mock existence check failures
271
- manager ._volume_service .exists = MagicMock (side_effect = Exception ("Connection error" ))
272
- manager ._svm_service .exists = MagicMock (side_effect = Exception ("Connection error" ))
282
+ manager ._volume_service .exists = MagicMock (
283
+ side_effect = Exception ("Connection error" )
284
+ )
285
+ manager ._svm_service .exists = MagicMock (
286
+ side_effect = Exception ("Connection error" )
287
+ )
273
288
manager ._volume_service .delete_volume = MagicMock (return_value = True )
274
289
manager ._svm_service .delete_svm = MagicMock (return_value = True )
275
290
276
291
result = manager .cleanup_project (project_id )
277
292
278
293
# Verify cleanup still proceeds (assumes both exist when check fails)
279
- manager ._volume_service .delete_volume .assert_called_once_with (project_id , force = True )
294
+ manager ._volume_service .delete_volume .assert_called_once_with (
295
+ project_id , force = True
296
+ )
280
297
manager ._svm_service .delete_svm .assert_called_once_with (project_id )
281
298
assert result == {"volume" : True , "svm" : True }
282
299
@@ -295,7 +312,9 @@ def test_end_to_end_project_lifecycle(
295
312
296
313
# Mock successful creation workflow
297
314
manager ._svm_service .create_svm = MagicMock (return_value = f"os-{ project_id } " )
298
- manager ._volume_service .create_volume = MagicMock (return_value = f"vol_{ project_id } " )
315
+ manager ._volume_service .create_volume = MagicMock (
316
+ return_value = f"vol_{ project_id } "
317
+ )
299
318
manager ._svm_service .exists = MagicMock (return_value = True )
300
319
manager ._volume_service .exists = MagicMock (return_value = True )
301
320
@@ -316,11 +335,15 @@ def test_end_to_end_project_lifecycle(
316
335
assert cleanup_result == {"volume" : True , "svm" : True }
317
336
318
337
# Verify all service interactions
319
- manager ._svm_service .create_svm .assert_called_once_with (project_id , "test-aggregate" )
338
+ manager ._svm_service .create_svm .assert_called_once_with (
339
+ project_id , "test-aggregate"
340
+ )
320
341
manager ._volume_service .create_volume .assert_called_once_with (
321
342
project_id , "1TB" , "test-aggregate"
322
343
)
323
- manager ._volume_service .delete_volume .assert_called_once_with (project_id , force = True )
344
+ manager ._volume_service .delete_volume .assert_called_once_with (
345
+ project_id , force = True
346
+ )
324
347
manager ._svm_service .delete_svm .assert_called_once_with (project_id )
325
348
326
349
@patch ("understack_workflows.netapp.manager.config" )
@@ -361,12 +384,17 @@ def test_logging_coordination_across_services(
361
384
result = manager .cleanup_project ("test-project-123" )
362
385
363
386
# Verify appropriate log messages were called at manager level
364
- mock_logger .info .assert_any_call ("Starting cleanup for project: %s" , "test-project-123" )
365
387
mock_logger .info .assert_any_call (
366
- "Successfully deleted volume for project: %s" , "test-project-123"
388
+ "Starting cleanup for project: %(project_id)s" ,
389
+ {"project_id" : "test-project-123" },
390
+ )
391
+ mock_logger .info .assert_any_call (
392
+ "Successfully deleted volume for project: %(project_id)s" ,
393
+ {"project_id" : "test-project-123" },
367
394
)
368
395
mock_logger .warning .assert_any_call (
369
- "Failed to delete SVM for project: %s" , "test-project-123"
396
+ "Failed to delete SVM for project: %(project_id)s" ,
397
+ {"project_id" : "test-project-123" },
370
398
)
371
399
372
400
assert result == {"volume" : True , "svm" : False }
@@ -409,7 +437,10 @@ def test_backward_compatibility_maintained(
409
437
410
438
# Network operations
411
439
import ipaddress
412
- from understack_workflows .netapp .value_objects import NetappIPInterfaceConfig
440
+
441
+ from understack_workflows .netapp .value_objects import (
442
+ NetappIPInterfaceConfig ,
443
+ )
413
444
414
445
config_obj = NetappIPInterfaceConfig (
415
446
name = "test" ,
0 commit comments