def test08a_delete_derived_by_transformation(self, mocker): """ should allow deleting derived resource by transformations """ public_resource_id = 'public_resource_id' public_resource_id2 = 'public_resource_id2' transformation = {"crop": "scale", "width": 100} transformation2 = {"crop": "scale", "width": 200} mocker.return_value = MOCK_RESPONSE api.delete_derived_by_transformation(public_resource_id, transformation) method, url, params = mocker.call_args[0][0:3] self.assertEqual('DELETE', method) self.assertTrue(url.endswith('/resources/image/upload')) self.assertIn(public_resource_id, get_list_param(mocker, 'public_ids')) self.assertEqual(get_param(mocker, 'transformations'), utils.build_eager([transformation])) self.assertTrue(get_param(mocker, 'keep_original')) mocker.return_value = MOCK_RESPONSE api.delete_derived_by_transformation( [public_resource_id, public_resource_id2], [transformation, transformation2], resource_type='raw', type='fetch', invalidate=True, foo='bar') method, url, params = mocker.call_args[0][0:3] self.assertEqual('DELETE', method) self.assertTrue(url.endswith('/resources/raw/fetch')) self.assertIn(public_resource_id, get_list_param(mocker, 'public_ids')) self.assertIn(public_resource_id2, get_list_param(mocker, 'public_ids')) self.assertEqual(get_param(mocker, 'transformations'), utils.build_eager([transformation, transformation2])) self.assertTrue(get_param(mocker, 'keep_original')) self.assertTrue(get_param(mocker, 'invalidate'))
def test09c_delete_resources_by_transformations(self, mocker): """ should allow deleting resources by transformations """ mocker.return_value = MOCK_RESPONSE api.delete_resources(['api_test', 'api_test2'], transformations=['c_crop,w_100']) self.assertEqual(get_method(mocker), 'DELETE') self.assertEqual(get_param(mocker, 'transformations'), 'c_crop,w_100') api.delete_all_resources( transformations=['c_crop,w_100', { "crop": "scale", "width": 107 }]) self.assertEqual(get_method(mocker), 'DELETE') self.assertEqual(get_param(mocker, 'transformations'), 'c_crop,w_100|c_scale,w_107') api.delete_resources_by_prefix("api_test_by", transformations='c_crop,w_100') self.assertEqual(get_method(mocker), 'DELETE') self.assertEqual(get_param(mocker, 'transformations'), 'c_crop,w_100') api.delete_resources_by_tag("api_test_tag", transformations=['c_crop,w_100']) self.assertEqual(get_method(mocker), 'DELETE') self.assertEqual(get_param(mocker, 'transformations'), 'c_crop,w_100')
def test06a_resources_by_ids(self, mocker): """ should allow listing resources by public ids """ mocker.return_value = MOCK_RESPONSE api.resources_by_ids([API_TEST_ID, API_TEST_ID2], context=True, tags=True) args, kargs = mocker.call_args self.assertTrue(get_uri(args).endswith('/resources/image/upload'), get_uri(args)) self.assertIn(API_TEST_ID, get_list_param(mocker, 'public_ids')) self.assertIn(API_TEST_ID2, get_list_param(mocker, 'public_ids')) self.assertEqual(get_param(mocker, 'context'), True) self.assertEqual(get_param(mocker, 'tags'), True)
def test28_create_upload_preset(self, mocker): """ should allow creating upload_presets """ mocker.return_value = MOCK_RESPONSE api.create_upload_preset(name=API_TEST_PRESET, folder="folder") args, kargs = mocker.call_args self.assertTrue(get_uri(args).endswith("/upload_presets")) self.assertEqual("POST", get_method(mocker)) self.assertEqual(get_param(mocker, "name"), API_TEST_PRESET) self.assertEqual(get_param(mocker, "folder"), "folder")
def test_upload_preset(self, mocker): """ should support unsigned uploading using presets """ mocker.return_value = MOCK_RESPONSE uploader.unsigned_upload(TEST_IMAGE, API_TEST_PRESET) args, kargs = mocker.call_args self.assertTrue(get_uri(args).endswith("/image/upload")) self.assertEqual("POST", get_method(mocker)) self.assertIsNotNone(get_param(mocker, "file")) self.assertIsNone(get_param(mocker, "signature")) self.assertEqual(get_param(mocker, "upload_preset"), API_TEST_PRESET)
def test_upload_preset(self, mocker): """ should support unsigned uploading using presets """ mocker.return_value = MOCK_RESPONSE uploader.unsigned_upload(TEST_IMAGE, API_TEST_PRESET) args, kargs = mocker.call_args self.assertTrue(get_uri(args).endswith("/image/upload")) self.assertEqual("POST", get_method(mocker)) self.assertIsNotNone(get_param(mocker, "file")) self.assertIsNone(get_param(mocker, "signature")) self.assertEqual(get_param(mocker, "upload_preset"), API_TEST_PRESET)
def test_publish_by_tag(self, mocker): mocker.return_value = MOCK_RESPONSE api.publish_by_tag("pub_tag") self.assertTrue( get_uri(mocker.call_args[0]).endswith( '/resources/image/publish_resources')) self.assertEqual(get_param(mocker, 'tag'), "pub_tag")
def test26_2_quality_override(self, mocker): """ should support quality_override """ mocker.return_value = MOCK_RESPONSE test_values = ['auto:advanced', 'auto:best', '80:420', 'none'] for quality in test_values: api.update("api_test", quality_override=quality) quality_override = get_param(mocker, 'quality_override') self.assertEqual(quality_override, quality)
def test09c_delete_resources_by_transformations(self, mocker): """ should allow deleting resources by transformations """ mocker.return_value = MOCK_RESPONSE api.delete_resources(['api_test', 'api_test2'], transformations=['c_crop,w_100']) self.assertEqual(get_method(mocker), 'DELETE') self.assertEqual(get_param(mocker, 'transformations'), 'c_crop,w_100') api.delete_all_resources(transformations=['c_crop,w_100', {"crop": "scale", "width": 107}]) self.assertEqual(get_method(mocker), 'DELETE') self.assertEqual(get_param(mocker, 'transformations'), 'c_crop,w_100|c_scale,w_107') api.delete_resources_by_prefix("api_test_by", transformations='c_crop,w_100') self.assertEqual(get_method(mocker), 'DELETE') self.assertEqual(get_param(mocker, 'transformations'), 'c_crop,w_100') api.delete_resources_by_tag("api_test_tag", transformations=['c_crop,w_100']) self.assertEqual(get_method(mocker), 'DELETE') self.assertEqual(get_param(mocker, 'transformations'), 'c_crop,w_100')
def test31_update_upload_presets(self, mocker): """ should allow getting a single upload_preset """ mocker.return_value = MOCK_RESPONSE api.update_upload_preset(API_TEST_PRESET, colors=True, unsigned=True, disallow_public_id=True, live=True, eval=EVAL_STR) args, kargs = mocker.call_args self.assertEqual(args[0], 'PUT') self.assertTrue(get_uri(args).endswith('/upload_presets/{}'.format(API_TEST_PRESET))) self.assertTrue(get_params(args)['colors']) self.assertTrue(get_params(args)['unsigned']) self.assertTrue(get_params(args)['disallow_public_id']) self.assertTrue(get_params(args)['live']) self.assertEqual(EVAL_STR, get_param(mocker, "eval"))
def test_publish_by_tag(self, mocker): mocker.return_value = MOCK_RESPONSE api.publish_by_tag("pub_tag") self.assertTrue(get_uri(mocker.call_args[0]).endswith('/resources/image/publish_resources')) self.assertEqual(get_param(mocker, 'tag'), "pub_tag")
def test21_notification_url(self, mocker): """ should support notification_url param """ mocker.return_value = MOCK_RESPONSE api.update("api_test", notification_url="http://example.com") notification_url = get_param(mocker, 'notification_url') self.assertEqual(notification_url, "http://example.com")
def test12a_transformations_cursor(self, mocker): """ should allow listing transformations with cursor """ mocker.return_value = MOCK_RESPONSE api.transformation(API_TEST_TRANS_SCALE100, next_cursor=NEXT_CURSOR, max_results=10) self.assertEqual(get_param(mocker, 'next_cursor'), NEXT_CURSOR) self.assertEqual(get_param(mocker, 'max_results'), 10)