Example #1
0
    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'))
Example #2
0
    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')
Example #3
0
 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)
Example #4
0
    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")
Example #5
0
    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)
Example #6
0
    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)
Example #7
0
 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")
Example #8
0
 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)
Example #9
0
    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')
Example #10
0
 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"))
Example #11
0
 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")
Example #12
0
 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")
Example #13
0
 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)