@@ -123,22 +123,29 @@ def test_handle_project_created_wrong_event_type(self, mock_conn, mock_nautobot)
123
123
assert result == 1
124
124
125
125
@patch ("understack_workflows.oslo_event.keystone_project._keystone_project_tags" )
126
+ @patch ("builtins.open" )
126
127
def test_handle_project_created_no_svm_tag (
127
- self , mock_tags , mock_conn , mock_nautobot , valid_event_data
128
+ self , mock_open , mock_tags , mock_conn , mock_nautobot , valid_event_data
128
129
):
129
130
"""Test handling project creation without SVM tag."""
130
131
mock_tags .return_value = ["tag1" , "tag2" ]
131
132
132
- with pytest .raises (SystemExit ) as exc_info :
133
- handle_project_created (mock_conn , mock_nautobot , valid_event_data )
134
-
135
- assert exc_info .value .code == 0
133
+ result = handle_project_created (mock_conn , mock_nautobot , valid_event_data )
134
+ assert result == 0
136
135
mock_tags .assert_called_once_with (mock_conn , "test-project-123" )
136
+ mock_open .assert_called_with ("/var/run/argo/output.svm_enabled" , "w" )
137
137
138
138
@patch ("understack_workflows.oslo_event.keystone_project.NetAppManager" )
139
139
@patch ("understack_workflows.oslo_event.keystone_project._keystone_project_tags" )
140
+ @patch ("builtins.open" )
140
141
def test_handle_project_created_with_svm_tag (
141
- self , mock_tags , mock_netapp_class , mock_conn , mock_nautobot , valid_event_data
142
+ self ,
143
+ mock_open ,
144
+ mock_tags ,
145
+ mock_netapp_class ,
146
+ mock_conn ,
147
+ mock_nautobot ,
148
+ valid_event_data ,
142
149
):
143
150
"""Test successful project creation handling with SVM tag."""
144
151
mock_tags .return_value = ["tag1" , SVM_PROJECT_TAG , "tag2" ]
@@ -158,11 +165,19 @@ def test_handle_project_created_with_svm_tag(
158
165
volume_size = VOLUME_SIZE ,
159
166
aggregate_name = AGGREGATE_NAME ,
160
167
)
168
+ mock_open .assert_called ()
161
169
162
170
@patch ("understack_workflows.oslo_event.keystone_project.NetAppManager" )
163
171
@patch ("understack_workflows.oslo_event.keystone_project._keystone_project_tags" )
172
+ @patch ("builtins.open" )
164
173
def test_handle_project_created_netapp_manager_failure (
165
- self , mock_tags , mock_netapp_class , mock_conn , mock_nautobot , valid_event_data
174
+ self ,
175
+ mock_open ,
176
+ mock_tags ,
177
+ mock_netapp_class ,
178
+ mock_conn ,
179
+ mock_nautobot ,
180
+ valid_event_data ,
166
181
):
167
182
"""Test handling when NetAppManager creation fails."""
168
183
mock_tags .return_value = [SVM_PROJECT_TAG ]
@@ -173,11 +188,19 @@ def test_handle_project_created_netapp_manager_failure(
173
188
174
189
mock_tags .assert_called_once_with (mock_conn , "test-project-123" )
175
190
mock_netapp_class .assert_called_once ()
191
+ mock_open .assert_called ()
176
192
177
193
@patch ("understack_workflows.oslo_event.keystone_project.NetAppManager" )
178
194
@patch ("understack_workflows.oslo_event.keystone_project._keystone_project_tags" )
195
+ @patch ("builtins.open" )
179
196
def test_handle_project_created_svm_creation_failure (
180
- self , mock_tags , mock_netapp_class , mock_conn , mock_nautobot , valid_event_data
197
+ self ,
198
+ mock_open ,
199
+ mock_tags ,
200
+ mock_netapp_class ,
201
+ mock_conn ,
202
+ mock_nautobot ,
203
+ valid_event_data ,
181
204
):
182
205
"""Test handling when SVM creation fails."""
183
206
mock_tags .return_value = [SVM_PROJECT_TAG ]
@@ -196,8 +219,15 @@ def test_handle_project_created_svm_creation_failure(
196
219
197
220
@patch ("understack_workflows.oslo_event.keystone_project.NetAppManager" )
198
221
@patch ("understack_workflows.oslo_event.keystone_project._keystone_project_tags" )
222
+ @patch ("builtins.open" )
199
223
def test_handle_project_created_volume_creation_failure (
200
- self , mock_tags , mock_netapp_class , mock_conn , mock_nautobot , valid_event_data
224
+ self ,
225
+ mock_open ,
226
+ mock_tags ,
227
+ mock_netapp_class ,
228
+ mock_conn ,
229
+ mock_nautobot ,
230
+ valid_event_data ,
201
231
):
202
232
"""Test handling when volume creation fails."""
203
233
mock_tags .return_value = [SVM_PROJECT_TAG ]
@@ -232,8 +262,9 @@ def test_handle_project_created_invalid_event_data(self, mock_conn, mock_nautobo
232
262
handle_project_created (mock_conn , mock_nautobot , invalid_event_data )
233
263
234
264
@patch ("understack_workflows.oslo_event.keystone_project._keystone_project_tags" )
265
+ @patch ("builtins.open" )
235
266
def test_handle_project_created_constants_used (
236
- self , mock_tags , mock_conn , mock_nautobot , valid_event_data
267
+ self , mock_open , mock_tags , mock_conn , mock_nautobot , valid_event_data
237
268
):
238
269
"""Test constants used for aggregate name and volume size."""
239
270
mock_tags .return_value = [SVM_PROJECT_TAG ]
@@ -253,6 +284,7 @@ def test_handle_project_created_constants_used(
253
284
)
254
285
mock_netapp_manager .create_volume .assert_called_once_with (
255
286
project_id = "test-project-123" ,
256
- volume_size = "1GB " , # VOLUME_SIZE constant
287
+ volume_size = "514GB " , # VOLUME_SIZE constant
257
288
aggregate_name = "aggr02_n02_NVME" , # AGGREGATE_NAME constant
258
289
)
290
+ mock_open .assert_called ()
0 commit comments