@@ -102,8 +102,9 @@ def mock_logger(mocker):
102
102
103
103
104
104
@pytest .fixture
105
- def mock_aap_feature_flags_constant (mocker ):
106
- return mocker .patch (f"{ MODULE_PATH } .AAP_FEATURE_FLAGS" , [])
105
+ def mock_feature_flags_list (mocker ):
106
+ mock = mocker .patch (f"{ MODULE_PATH } .feature_flags_list" )
107
+ return mock
107
108
108
109
109
110
def test_get_django_flags (mocker ):
@@ -122,7 +123,7 @@ class TestCreateInitialData:
122
123
123
124
@pytest .mark .django_db # May not be strictly necessary with all the mocking, but good practice
124
125
def test_load_feature_flags_creates_new_flag_from_settings_value (
125
- self , mock_apps_get_model , mock_aap_flag_model_cls , mock_settings , mock_logger , mock_aap_feature_flags_constant , mocker
126
+ self , mock_apps_get_model , mock_aap_flag_model_cls , mock_settings , mock_logger , mock_feature_flags_list , mocker
126
127
):
127
128
from ansible_base .feature_flags .utils import create_initial_data
128
129
@@ -134,8 +135,7 @@ def test_load_feature_flags_creates_new_flag_from_settings_value(
134
135
'visibility' : 'public' ,
135
136
# No 'value' here, expecting it from settings
136
137
}
137
- mock_aap_feature_flags_constant .append (flag_def )
138
-
138
+ mock_feature_flags_list .return_value = [flag_def ]
139
139
# --- Mocks for database interaction (for load_feature_flags part) ---
140
140
mock_filter_queryset = MagicMock ()
141
141
# Simulate flag does NOT exist:
@@ -182,7 +182,7 @@ def test_load_feature_flags_creates_new_flag_from_settings_value(
182
182
183
183
@pytest .mark .django_db
184
184
def test_load_feature_flags_creates_new_flag_with_default_value_if_not_in_settings (
185
- self , mock_apps_get_model , mock_aap_flag_model_cls , mock_settings , mock_logger , mock_aap_feature_flags_constant , mocker
185
+ self , mock_apps_get_model , mock_aap_flag_model_cls , mock_settings , mock_logger , mock_feature_flags_list , mocker
186
186
):
187
187
from ansible_base .feature_flags .utils import create_initial_data
188
188
@@ -194,7 +194,7 @@ def test_load_feature_flags_creates_new_flag_with_default_value_if_not_in_settin
194
194
'visibility' : 'private' ,
195
195
'value' : False , # Default value in definition
196
196
}
197
- mock_aap_feature_flags_constant . extend ( [flag_def ])
197
+ mock_feature_flags_list . return_value = [flag_def ]
198
198
199
199
mock_empty_queryset = MagicMock ()
200
200
mock_empty_queryset .first .return_value = None
@@ -216,7 +216,7 @@ def test_load_feature_flags_creates_new_flag_with_default_value_if_not_in_settin
216
216
217
217
@pytest .mark .django_db
218
218
def test_load_feature_flags_updates_existing_flag (
219
- self , mock_apps_get_model , mock_aap_flag_model_cls , mock_settings , mock_logger , mock_aap_feature_flags_constant , mocker
219
+ self , mock_apps_get_model , mock_aap_flag_model_cls , mock_settings , mock_logger , mock_feature_flags_list , mocker
220
220
):
221
221
from ansible_base .feature_flags .utils import create_initial_data
222
222
@@ -232,7 +232,7 @@ def test_load_feature_flags_updates_existing_flag(
232
232
'labels' : ['new' ],
233
233
'description' : 'new desc' ,
234
234
}
235
- mock_aap_feature_flags_constant . extend ( [flag_def_updated ])
235
+ mock_feature_flags_list . return_value = [flag_def_updated ]
236
236
237
237
existing_db_flag = MockAAPFlagInstance (
238
238
name = 'EXISTING_FLAG' ,
@@ -274,12 +274,12 @@ def test_load_feature_flags_updates_existing_flag(
274
274
275
275
@pytest .mark .django_db
276
276
def test_load_feature_flags_handles_specific_validation_error (
277
- self , mock_apps_get_model , mock_aap_flag_model_cls , mock_settings , mock_logger , mock_aap_feature_flags_constant , mocker
277
+ self , mock_apps_get_model , mock_aap_flag_model_cls , mock_settings , mock_logger , mock_feature_flags_list , mocker
278
278
):
279
279
from ansible_base .feature_flags .utils import create_initial_data
280
280
281
281
flag_def = {'name' : 'ERROR_FLAG' , 'condition' : 'err_cond' , 'ui_name' : 'Error Flag' }
282
- mock_aap_feature_flags_constant . extend ( [flag_def ])
282
+ mock_feature_flags_list . return_value = [flag_def ]
283
283
284
284
mock_empty_queryset = MagicMock ()
285
285
mock_empty_queryset .first .return_value = None
@@ -302,12 +302,12 @@ def test_load_feature_flags_handles_specific_validation_error(
302
302
303
303
@pytest .mark .django_db
304
304
def test_load_feature_flags_logs_other_validation_errors (
305
- self , mock_apps_get_model , mock_aap_flag_model_cls , mock_settings , mock_logger , mock_aap_feature_flags_constant , mocker
305
+ self , mock_apps_get_model , mock_aap_flag_model_cls , mock_settings , mock_logger , mock_feature_flags_list , mocker
306
306
):
307
307
from ansible_base .feature_flags .utils import create_initial_data
308
308
309
309
flag_def = {'name' : 'OTHER_ERROR_FLAG' , 'condition' : 'other_err_cond' , 'ui_name' : 'Other Error' }
310
- mock_aap_feature_flags_constant . extend ( [flag_def ])
310
+ mock_feature_flags_list . return_value = [flag_def ]
311
311
312
312
mock_empty_queryset = MagicMock ()
313
313
mock_empty_queryset .first .return_value = None
@@ -329,7 +329,7 @@ def test_load_feature_flags_logs_other_validation_errors(
329
329
mock_created_instance .save .assert_not_called ()
330
330
331
331
@pytest .mark .django_db
332
- def test_delete_feature_flags_removes_obsolete_flag (self , mock_apps_get_model , mock_aap_flag_model_cls , mock_logger , mock_aap_feature_flags_constant ):
332
+ def test_delete_feature_flags_removes_obsolete_flag (self , mock_apps_get_model , mock_aap_flag_model_cls , mock_logger , mock_feature_flags_list ):
333
333
from ansible_base .feature_flags .utils import create_initial_data
334
334
335
335
obsolete_flag_in_db = MockAAPFlagInstance (name = 'OBSOLETE_FLAG' , condition = 'obs_cond' )
@@ -347,11 +347,11 @@ def test_delete_feature_flags_removes_obsolete_flag(self, mock_apps_get_model, m
347
347
mock_logger .info .assert_any_call (f"Deleting feature flag: { obsolete_flag_in_db .name } as it is no longer available as a platform flag" )
348
348
349
349
@pytest .mark .django_db
350
- def test_delete_feature_flags_keeps_current_flag (self , mock_apps_get_model , mock_aap_flag_model_cls , mock_logger , mock_aap_feature_flags_constant ):
350
+ def test_delete_feature_flags_keeps_current_flag (self , mock_apps_get_model , mock_aap_flag_model_cls , mock_logger , mock_feature_flags_list ):
351
351
from ansible_base .feature_flags .utils import create_initial_data
352
352
353
353
current_flag_def = {'name' : 'CURRENT_FLAG' , 'condition' : 'curr_cond' , 'ui_name' : 'Current' }
354
- mock_aap_feature_flags_constant . extend ( [current_flag_def ])
354
+ mock_feature_flags_list . return_value = [current_flag_def ]
355
355
356
356
current_flag_in_db = MockAAPFlagInstance (name = 'CURRENT_FLAG' , condition = 'curr_cond' )
357
357
0 commit comments