Skip to content

Commit f25738a

Browse files
fix tests due to wrong mock data + api missing method
1 parent c6019bf commit f25738a

File tree

1 file changed

+113
-95
lines changed

1 file changed

+113
-95
lines changed

test/test_modules/test_cli_clone.py

Lines changed: 113 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ def setUp(self):
3636
'api_secret': 'target-secret'
3737
}
3838

39-
@patch('cloudinary.api.metadata_fields')
39+
@patch('cloudinary.api.list_metadata_fields')
4040
def test_list_metadata_items(self, mock_metadata_fields):
4141
"""Test listing metadata fields"""
4242
mock_metadata_fields.return_value = {
@@ -52,10 +52,10 @@ def test_list_metadata_items(self, mock_metadata_fields):
5252

5353
result = clone_module.list_metadata_items("metadata_fields")
5454

55-
mock_metadata_fields.assert_called_once()
55+
mock_metadata_fields.assert_called_once("list_metadata_fields")
5656
self.assertEqual(result, mock_metadata_fields.return_value['metadata_fields'])
5757

58-
@patch('cloudinary.api.metadata_rules')
58+
@patch('cloudinary.api.list_metadata_rules')
5959
def test_list_metadata_rules(self, mock_metadata_rules):
6060
"""Test listing metadata fields"""
6161
mock_metadata_rules.return_value = {
@@ -76,7 +76,7 @@ def test_list_metadata_rules(self, mock_metadata_rules):
7676

7777
result = clone_module.list_metadata_items("metadata_rules")
7878

79-
mock_metadata_rules.assert_called_once()
79+
mock_metadata_rules.assert_called_once("list_metadata_rules")
8080
self.assertEqual(result, mock_metadata_rules.return_value['metadata_rules'])
8181

8282
@patch('cloudinary.api.add_metadata_field')
@@ -95,7 +95,7 @@ def test_create_metadata_item_field(self, mock_add_metadata_field):
9595

9696
clone_module.create_metadata_item('add_metadata_field', mock_metadata_fields, self.mock_target_config)
9797

98-
mock_add_metadata_field.assert_called_once_with(mock_metadata_fields)
98+
mock_add_metadata_field.assert_called_once_with('add_metadata_field', mock_metadata_fields)
9999

100100
@patch('cloudinary.api.add_metadata_rule')
101101
def test_create_metadata_item_rule(self, mock_add_metadata_rule):
@@ -118,7 +118,7 @@ def test_create_metadata_item_rule(self, mock_add_metadata_rule):
118118

119119
clone_module.create_metadata_item('add_metadata_rule', mock_metadata_rules, self.mock_target_config)
120120

121-
mock_add_metadata_rule.assert_called_once_with(mock_metadata_rules)
121+
mock_add_metadata_rule.assert_called_once_with('add_metadata_rule', mock_metadata_rules)
122122

123123
@patch('cloudinary.api.add_metadata_field')
124124
def test_create_metadata_item_field_with_error(self, mock_add_metadata_field):
@@ -184,7 +184,9 @@ def test_compare_create_metadata_items_new_fields(self, mock_list, mock_create):
184184
]
185185
}
186186

187-
mock_destination_fields = []
187+
mock_destination_fields = {
188+
'metadata_fields': []
189+
}
188190

189191
clone_module.compare_create_metadata_items(mock_source_fields, mock_destination_fields, self.mock_target_config, key="metadata_fields")
190192

@@ -197,28 +199,32 @@ def test_compare_create_metadata_items_new_fields(self, mock_list, mock_create):
197199
@patch.object(clone_module, 'list_metadata_items')
198200
def test_compare_create_metadata_items_new_rules(self, mock_list, mock_create):
199201
"""Test comparing and creating new metadata rules"""
200-
mock_source_metadata_rules = [
201-
{
202-
'external_id': 'rule1',
203-
'condition': 'if',
204-
'metadata_field': {'external_id': 'field1'},
205-
'results': [{
206-
'value': 'value1',
207-
'apply_to': ['target_field1']
208-
}]
209-
},
210-
{
211-
'external_id': 'rule2',
212-
'condition': 'if',
213-
'metadata_field': {'external_id': 'field2'},
214-
'results': [{
215-
'value': 'value2',
216-
'apply_to': ['target_field2']
217-
}]
218-
}
219-
]
202+
mock_source_metadata_rules = {
203+
'metadata_rules': [
204+
{
205+
'external_id': 'rule1',
206+
'condition': 'if',
207+
'metadata_field': {'external_id': 'field1'},
208+
'results': [{
209+
'value': 'value1',
210+
'apply_to': ['target_field1']
211+
}]
212+
},
213+
{
214+
'external_id': 'rule2',
215+
'condition': 'if',
216+
'metadata_field': {'external_id': 'field2'},
217+
'results': [{
218+
'value': 'value2',
219+
'apply_to': ['target_field2']
220+
}]
221+
}
222+
]
223+
}
220224

221-
mock_destination_metadata_rules = []
225+
mock_destination_metadata_rules = {
226+
'metadata_rules': []
227+
}
222228

223229
clone_module.compare_create_metadata_items(mock_source_metadata_rules, mock_destination_metadata_rules, self.mock_target_config, key="metadata_rules")
224230

@@ -242,13 +248,15 @@ def test_compare_create_metadata_items_existing_fields(self, mock_list, mock_cre
242248
}
243249

244250
# Simulate destination already having the field
245-
mock_destination_fields = [
246-
{
247-
'external_id': 'field1',
248-
'type': 'string',
249-
'label': 'Field 1'
250-
}
251-
]
251+
mock_destination_fields = {
252+
'metadata_fields': [
253+
{
254+
'external_id': 'field1',
255+
'type': 'string',
256+
'label': 'Field 1'
257+
}
258+
]
259+
}
252260

253261
clone_module.compare_create_metadata_items(mock_source_fields, mock_destination_fields, self.mock_target_config, key="metadata_fields")
254262

@@ -260,30 +268,34 @@ def test_compare_create_metadata_items_existing_fields(self, mock_list, mock_cre
260268
def test_compare_create_metadata_items_existing_rules(self, mock_list, mock_create):
261269
"""Test comparing when rules already exist"""
262270

263-
mock_source_metadata_rules = [
264-
{
265-
'external_id': 'rule1',
266-
'condition': 'if',
267-
'metadata_field': {'external_id': 'field1'},
268-
'results': [{
269-
'value': 'value1',
270-
'apply_to': ['target_field1']
271-
}]
272-
}
273-
]
271+
mock_source_metadata_rules = {
272+
'metadata_rules': [
273+
{
274+
'external_id': 'rule1',
275+
'condition': 'if',
276+
'metadata_field': {'external_id': 'field1'},
277+
'results': [{
278+
'value': 'value1',
279+
'apply_to': ['target_field1']
280+
}]
281+
}
282+
]
283+
}
274284

275285
# Simulate destination already having the rule
276-
mock_destination_metadata_rules = [
277-
{
278-
'external_id': 'rule1',
279-
'condition': 'if',
280-
'metadata_field': {'external_id': 'field1'},
281-
'results': [{
282-
'value': 'value1',
283-
'apply_to': ['target_field1']
284-
}]
285-
}
286-
]
286+
mock_destination_metadata_rules = {
287+
'metadata_rules': [
288+
{
289+
'external_id': 'rule1',
290+
'condition': 'if',
291+
'metadata_field': {'external_id': 'field1'},
292+
'results': [{
293+
'value': 'value1',
294+
'apply_to': ['target_field1']
295+
}]
296+
}
297+
]
298+
}
287299

288300
clone_module.compare_create_metadata_items(mock_source_metadata_rules, mock_destination_metadata_rules, self.mock_target_config, key="metadata_rules")
289301

@@ -310,13 +322,15 @@ def test_compare_create_metadata_items_mixed_scenario(self, mock_list, mock_crea
310322
}
311323

312324
# Simulate destination having only one field
313-
mock_destination_fields = [
314-
{
315-
'external_id': 'existing_field',
316-
'type': 'string',
317-
'label': 'Existing Field'
318-
}
319-
]
325+
mock_destination_fields = {
326+
'metadata_fields': [
327+
{
328+
'external_id': 'field1',
329+
'type': 'string',
330+
'label': 'Field 1'
331+
}
332+
]
333+
}
320334

321335
clone_module.compare_create_metadata_items(mock_source_fields, mock_destination_fields, self.mock_target_config, key="metadata_fields")
322336

@@ -327,39 +341,43 @@ def test_compare_create_metadata_items_mixed_scenario(self, mock_list, mock_crea
327341
@patch.object(clone_module, 'list_metadata_items')
328342
def test_compare_create_metadata_items_mixed_rules_scenario(self, mock_list, mock_create):
329343
"""Test comparing with mix of new and existing rules"""
330-
mock_source_metadata_rules = [
331-
{
332-
'external_id': 'rule1',
333-
'condition': 'if',
334-
'metadata_field': {'external_id': 'field1'},
335-
'results': [{
336-
'value': 'value1',
337-
'apply_to': ['target_field1']
338-
}]
339-
},
340-
{
341-
'external_id': 'rule2',
342-
'condition': 'if',
343-
'metadata_field': {'external_id': 'field2'},
344-
'results': [{
345-
'value': 'value2',
346-
'apply_to': ['target_field2']
347-
}]
348-
}
349-
]
344+
mock_source_metadata_rules = {
345+
'metadata_rules': [
346+
{
347+
'external_id': 'rule1',
348+
'condition': 'if',
349+
'metadata_field': {'external_id': 'field1'},
350+
'results': [{
351+
'value': 'value1',
352+
'apply_to': ['target_field1']
353+
}]
354+
},
355+
{
356+
'external_id': 'rule2',
357+
'condition': 'if',
358+
'metadata_field': {'external_id': 'field2'},
359+
'results': [{
360+
'value': 'value2',
361+
'apply_to': ['target_field2']
362+
}]
363+
}
364+
]
365+
}
350366

351367
# Simulate destination having only one rule
352-
mock_destination_metadata_rules = [
353-
{
354-
'external_id': 'rule1',
355-
'condition': 'if',
356-
'metadata_field': {'external_id': 'field1'},
357-
'results': [{
358-
'value': 'value1',
359-
'apply_to': ['target_field1']
360-
}]
361-
}
362-
]
368+
mock_destination_metadata_rules = {
369+
'metadata_rules': [
370+
{
371+
'external_id': 'rule1',
372+
'condition': 'if',
373+
'metadata_field': {'external_id': 'field1'},
374+
'results': [{
375+
'value': 'value1',
376+
'apply_to': ['target_field1']
377+
}]
378+
}
379+
]
380+
}
363381

364382
clone_module.compare_create_metadata_items(mock_source_metadata_rules, mock_destination_metadata_rules, self.mock_target_config, key="metadata_rules")
365383

0 commit comments

Comments
 (0)