@@ -116,7 +116,7 @@ def test_create_metadata_item_rule(self, mock_add_metadata_rule):
116116 @patch .object (clone_module , 'list_metadata_items' )
117117 def test_compare_create_metadata_items_new_fields (self , mock_list , mock_create ):
118118 """Test comparing and creating new metadata fields"""
119- mock_source_fields = {
119+ metadata_fields = {
120120 'metadata_fields' : [
121121 {
122122 'external_id' : 'field1' ,
@@ -131,6 +131,8 @@ def test_compare_create_metadata_items_new_fields(self, mock_list, mock_create):
131131 ]
132132 }
133133
134+ mock_source_fields = metadata_fields
135+ mock_list .return_value = metadata_fields
134136 mock_destination_fields = {
135137 'metadata_fields' : []
136138 }
@@ -142,11 +144,15 @@ def test_compare_create_metadata_items_new_fields(self, mock_list, mock_create):
142144 mock_create .assert_any_call ('add_metadata_field' , mock_source_fields ['metadata_fields' ][0 ], self .mock_target_config )
143145 mock_create .assert_any_call ('add_metadata_field' , mock_source_fields ['metadata_fields' ][1 ], self .mock_target_config )
144146
147+ result = clone_module .list_metadata_items ("metadata_fields" , self .mock_target_config )
148+ mock_list .assert_called_once ()
149+ self .assertEqual (result , mock_list .return_value )
150+
145151 @patch .object (clone_module , 'create_metadata_item' )
146152 @patch .object (clone_module , 'list_metadata_items' )
147153 def test_compare_create_metadata_items_new_rules (self , mock_list , mock_create ):
148154 """Test comparing and creating new metadata rules"""
149- mock_source_metadata_rules = {
155+ metadata_rules = {
150156 'metadata_rules' : [
151157 {
152158 'external_id' : 'rule1' ,
@@ -168,6 +174,9 @@ def test_compare_create_metadata_items_new_rules(self, mock_list, mock_create):
168174 }
169175 ]
170176 }
177+
178+ mock_source_metadata_rules = metadata_rules
179+ mock_list .return_value = metadata_rules
171180
172181 mock_destination_metadata_rules = {
173182 'metadata_rules' : []
@@ -180,14 +189,12 @@ def test_compare_create_metadata_items_new_rules(self, mock_list, mock_create):
180189 mock_create .assert_any_call ('add_metadata_rule' , mock_source_metadata_rules ['metadata_rules' ][0 ], self .mock_target_config )
181190 mock_create .assert_any_call ('add_metadata_rule' , mock_source_metadata_rules ['metadata_rules' ][1 ], self .mock_target_config )
182191
183- result = clone_module .list_metadata_items ("metadata_rules" )
184- mock_list .return_value = mock_source_metadata_rules
192+ result = clone_module .list_metadata_items ("metadata_rules" , self .mock_target_config )
185193 mock_list .assert_called_once ()
186194 self .assertEqual (result , mock_list .return_value )
187195
188196 @patch .object (clone_module , 'create_metadata_item' )
189- @patch .object (clone_module , 'list_metadata_items' )
190- def test_compare_create_metadata_items_existing_fields (self , mock_list , mock_create ):
197+ def test_compare_create_metadata_items_existing_fields (self , mock_create ):
191198 """Test comparing when fields already exist"""
192199 mock_source_fields = {
193200 'metadata_fields' : [
@@ -210,14 +217,14 @@ def test_compare_create_metadata_items_existing_fields(self, mock_list, mock_cre
210217 ]
211218 }
212219
220+ mock_source_fields
213221 clone_module .compare_create_metadata_items (mock_source_fields , mock_destination_fields , self .mock_target_config , key = "metadata_fields" )
214222
215223 # No fields should be created
216224 mock_create .assert_not_called ()
217225
218226 @patch .object (clone_module , 'create_metadata_item' )
219- @patch .object (clone_module , 'list_metadata_items' )
220- def test_compare_create_metadata_items_existing_rules (self , mock_list , mock_create ):
227+ def test_compare_create_metadata_items_existing_rules (self , mock_create ):
221228 """Test comparing when rules already exist"""
222229
223230 mock_source_metadata_rules = {
@@ -258,7 +265,7 @@ def test_compare_create_metadata_items_existing_rules(self, mock_list, mock_crea
258265 @patch .object (clone_module , 'list_metadata_items' )
259266 def test_compare_create_metadata_items_mixed_scenario (self , mock_list , mock_create ):
260267 """Test comparing with mix of new and existing fields"""
261- mock_source_fields = {
268+ metadata_fields = {
262269 'metadata_fields' : [
263270 {
264271 'external_id' : 'field1' ,
@@ -283,17 +290,24 @@ def test_compare_create_metadata_items_mixed_scenario(self, mock_list, mock_crea
283290 }
284291 ]
285292 }
293+
294+ mock_source_fields = metadata_fields
295+ mock_list .return_value = metadata_fields
286296
287297 clone_module .compare_create_metadata_items (mock_source_fields , mock_destination_fields , self .mock_target_config , key = "metadata_fields" )
288298
289299 # Only new_field should be created
290300 mock_create .assert_called_once_with ('add_metadata_field' , mock_source_fields ['metadata_fields' ][1 ], self .mock_target_config )
301+
302+ result = clone_module .list_metadata_items ("metadata_fields" , self .mock_target_config )
303+ mock_list .assert_called_once ()
304+ self .assertEqual (result , mock_list .return_value )
291305
292306 @patch .object (clone_module , 'create_metadata_item' )
293307 @patch .object (clone_module , 'list_metadata_items' )
294308 def test_compare_create_metadata_items_mixed_rules_scenario (self , mock_list , mock_create ):
295309 """Test comparing with mix of new and existing rules"""
296- mock_source_metadata_rules = {
310+ metadata_rules = {
297311 'metadata_rules' : [
298312 {
299313 'external_id' : 'rule1' ,
@@ -330,11 +344,18 @@ def test_compare_create_metadata_items_mixed_rules_scenario(self, mock_list, moc
330344 }
331345 ]
332346 }
347+
348+ mock_source_metadata_rules = metadata_rules
349+ mock_list .return_value = metadata_rules
333350
334351 clone_module .compare_create_metadata_items (mock_source_metadata_rules , mock_destination_metadata_rules , self .mock_target_config , key = "metadata_rules" )
335352
336353 # Only new_rule should be created
337354 mock_create .assert_called_once_with ('add_metadata_rule' , mock_source_metadata_rules ['metadata_rules' ][1 ], self .mock_target_config )
338355
356+ result = clone_module .list_metadata_items ("metadata_rules" , self .mock_target_config )
357+ mock_list .assert_called_once ()
358+ self .assertEqual (result , mock_list .return_value )
359+
339360if __name__ == '__main__' :
340361 unittest .main ()
0 commit comments