Ejemplo n.º 1
0
 def test15_transformation_create(self, mocker):
     """ should allow creating named transformation """
     mocker.return_value = MOCK_RESPONSE
     api.create_transformation(API_TEST_TRANS, {"crop": "scale", "width": 102})
     args, kargs = mocker.call_args
     self.assertEqual(args[0], 'POST')
     self.assertTrue(get_uri(args).endswith('/transformations'), get_uri(args))
     self.assertEqual(get_params(args)['transformation'], 'c_scale,w_102')
     self.assertEqual(API_TEST_TRANS, get_params(args)['name'])
Ejemplo n.º 2
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)
Ejemplo n.º 3
0
 def test06b_resources_direction(self, mocker):
     """ should allow listing resources in both directions """
     mocker.return_value = MOCK_RESPONSE
     api.resources_by_tag(API_TEST_TAG, direction="asc", type="upload")
     args, kargs = mocker.call_args
     self.assertTrue(get_uri(args).endswith('/resources/image/tags/{}'.format(API_TEST_TAG)))
     self.assertEqual(get_params(args)['direction'], 'asc')
     api.resources_by_tag(API_TEST_TAG, direction="desc", type="upload")
     args, kargs = mocker.call_args
     self.assertTrue(get_uri(args).endswith('/resources/image/tags/{}'.format(API_TEST_TAG)))
     self.assertEqual(get_params(args)['direction'], 'desc')
Ejemplo n.º 4
0
 def test17_transformation_implicit(self, mocker):
     """ should allow deleting implicit transformation """
     mocker.return_value = MOCK_RESPONSE
     api.delete_transformation(API_TEST_TRANS_SCALE100)
     args, kargs = mocker.call_args
     self.assertEqual(args[0], 'DELETE')
     self.assertTrue(get_uri(args).endswith('/transformations/{0}'.format(API_TEST_TRANS_SCALE100_STR)))
Ejemplo n.º 5
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")
Ejemplo n.º 6
0
 def test09b_delete_resources_by_tag(self, mocker):
     """ should allow deleting resources by tags """
     mocker.return_value = MOCK_RESPONSE
     api.delete_resources_by_tag("api_test_tag_for_delete")
     args, kargs = mocker.call_args
     self.assertEqual(args[0], 'DELETE')
     self.assertTrue(get_uri(args).endswith('/resources/image/tags/api_test_tag_for_delete'))
Ejemplo n.º 7
0
 def test11_tags_prefix(self, mocker):
     """ should allow listing tag by prefix """
     mocker.return_value = MOCK_RESPONSE
     api.tags(prefix=API_TEST_PREFIX)
     args, kargs = mocker.call_args
     self.assertTrue(get_uri(args).endswith('/tags/image'))
     self.assertEqual(get_params(args)['prefix'], API_TEST_PREFIX)
Ejemplo n.º 8
0
 def test30_delete_upload_presets(self, mocker):
     """ should allow deleting upload_presets """
     mocker.return_value = MOCK_RESPONSE
     api.delete_upload_preset(API_TEST_PRESET)
     args, kargs = mocker.call_args
     self.assertEqual(args[0], 'DELETE')
     self.assertTrue(get_uri(args).endswith('/upload_presets/{}'.format(API_TEST_PRESET)))
Ejemplo n.º 9
0
 def test08_delete_derived(self, mocker):
     """ should allow deleting derived resource """
     mocker.return_value = MOCK_RESPONSE
     api.delete_derived_resources([API_TEST_ID])
     args, kargs = mocker.call_args
     self.assertTrue(get_uri(args).endswith('/derived_resources'))
     self.assertIn(API_TEST_ID, get_list_param(mocker, 'derived_resource_ids'))
Ejemplo n.º 10
0
 def test14_transformation_update(self, mocker):
     """ should allow updating transformation allowed_for_strict """
     mocker.return_value = MOCK_RESPONSE
     api.update_transformation(API_TEST_TRANS_SCALE100_STR, allowed_for_strict=True)
     args, kargs = mocker.call_args
     self.assertEqual(args[0], 'PUT')
     self.assertTrue(get_uri(args).endswith('/transformations/{0}'.format(API_TEST_TRANS_SCALE100_STR)))
     self.assertTrue(get_params(args)['allowed_for_strict'])
Ejemplo n.º 11
0
 def test_publish_by_ids(self, mocker):
     mocker.return_value = MOCK_RESPONSE
     api.publish_by_ids(["pub1", "pub2"])
     self.assertTrue(
         get_uri(mocker.call_args[0]).endswith(
             '/resources/image/publish_resources'))
     self.assertIn('pub1', get_list_param(mocker, 'public_ids'))
     self.assertIn('pub2', get_list_param(mocker, 'public_ids'))
Ejemplo n.º 12
0
 def test17_transformation_implicit(self, mocker):
     """ should allow deleting implicit transformation """
     mocker.return_value = MOCK_RESPONSE
     api.delete_transformation(API_TEST_TRANS_SCALE100)
     args, kargs = mocker.call_args
     self.assertEqual(args[0], 'DELETE')
     self.assertTrue(get_uri(args).endswith('/transformations'))
     self.assertEqual(API_TEST_TRANS_SCALE100_STR, get_params(args)['transformation'])
Ejemplo n.º 13
0
 def test09a_delete_resources_by_prefix(self, mocker):
     """ should allow deleting resources by prefix """
     mocker.return_value = MOCK_RESPONSE
     api.delete_resources_by_prefix("api_test")
     args, kargs = mocker.call_args
     self.assertEqual(args[0], 'DELETE')
     self.assertTrue(get_uri(args).endswith('/resources/image/upload'))
     self.assertEqual(get_params(args)['prefix'], "api_test")
Ejemplo n.º 14
0
    def test15c_transformation_create_unnamed_with_empty_format(self, mocker):
        """ should allow creating unnamed transformation with empty extension"""
        mocker.return_value = MOCK_RESPONSE

        with_extension = dict(API_TEST_TRANS_SCALE100)
        with_extension.update(format="")

        with_extension_str = API_TEST_TRANS_SCALE100_STR + "/"

        api.create_transformation(with_extension_str, with_extension)

        args, kargs = mocker.call_args

        self.assertEqual(args[0], 'POST')
        self.assertTrue(get_uri(args).endswith('/transformations'), get_uri(args))
        self.assertEqual(with_extension_str, get_params(args)['transformation'])
        self.assertEqual(with_extension_str, get_params(args)['name'])
Ejemplo n.º 15
0
 def test06_resources_tag(self, mocker):
     """ should allow listing resources by tag """
     mocker.return_value = MOCK_RESPONSE
     api.resources_by_tag(API_TEST_TAG, context=True, tags=True)
     args, kargs = mocker.call_args
     self.assertTrue(get_uri(args).endswith('/resources/image/tags/{}'.format(API_TEST_TAG)))
     self.assertTrue(get_params(args)['context'])
     self.assertTrue(get_params(args)['tags'])
Ejemplo n.º 16
0
 def test04_resources_types(self, mocker):
     """ should allow listing resources by type """
     mocker.return_value = MOCK_RESPONSE
     api.resources(type="upload", context=True, tags=True)
     args, kargs = mocker.call_args
     self.assertTrue(get_uri(args).endswith('/resources/image/upload'))
     self.assertTrue(get_params(args)['context'])
     self.assertTrue(get_params(args)['tags'])
Ejemplo n.º 17
0
 def test05_resources_prefix(self, mocker):
     """ should allow listing resources by prefix """
     mocker.return_value = MOCK_RESPONSE
     api.resources(prefix=API_TEST_PREFIX, context=True, tags=True, type="upload")
     args, kargs = mocker.call_args
     self.assertTrue(get_uri(args).endswith('/resources/image/upload'))
     self.assertEqual(get_params(args)['prefix'], API_TEST_PREFIX)
     self.assertTrue(get_params(args)['context'])
     self.assertTrue(get_params(args)['tags'])
Ejemplo n.º 18
0
 def test14_transformation_update(self, mocker):
     """ should allow updating transformation allowed_for_strict """
     mocker.return_value = MOCK_RESPONSE
     api.update_transformation(API_TEST_TRANS_SCALE100_STR, allowed_for_strict=True)
     args, kargs = mocker.call_args
     self.assertEqual(args[0], 'PUT')
     self.assertTrue(get_uri(args).endswith('/transformations'))
     self.assertTrue(get_params(args)['allowed_for_strict'])
     self.assertEqual(API_TEST_TRANS_SCALE100_STR, get_params(args)['transformation'])
Ejemplo n.º 19
0
    def test01_list_metadata_fields(self, mocker):
        """Test getting a list of all metadata fields"""
        mocker.return_value = MOCK_RESPONSE
        api.list_metadata_fields()
        args, kargs = mocker.call_args

        self.assertTrue(get_uri(args).endswith("/metadata_fields"))
        self.assertEqual(get_method(mocker), "GET")
        self.assertFalse(get_params(args).get("fields"))
Ejemplo n.º 20
0
    def test_api_url_escapes_special_characters(self, mocker):
        """ should escape special characters in api url """
        mocker.return_value = MOCK_RESPONSE

        api.create_folder("a b+c%20d-e??f(g)h")

        args, kwargs = mocker.call_args

        self.assertTrue(get_uri(args).endswith('a%20b%2Bc%20d-e%3F%3Ff%28g%29h'))
Ejemplo n.º 21
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)
     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'])
Ejemplo n.º 22
0
    def test28a_list_upload_presets(self, mocker):
        """ should allow listing upload_presets """
        mocker.return_value = MOCK_RESPONSE

        api.upload_presets()

        args, kargs = mocker.call_args

        self.assertTrue(get_uri(args).endswith("/upload_presets"))
        self.assertEqual("GET", get_method(mocker))
Ejemplo n.º 23
0
 def test09_delete_resources_tuple(self, mocker):
     """ should allow deleting resources """
     mocker.return_value = MOCK_RESPONSE
     api.delete_resources((API_TEST_ID, API_TEST_ID2,))
     args, kargs = mocker.call_args
     self.assertEqual(args[0], 'DELETE')
     self.assertTrue(get_uri(args).endswith('/resources/image/upload'))
     param = get_list_param(mocker, 'public_ids')
     self.assertIn(API_TEST_ID, param)
     self.assertIn(API_TEST_ID2, param)
Ejemplo n.º 24
0
    def test_delete_folder(self, mocker):
        """ should delete folder """
        mocker.return_value = MOCK_RESPONSE

        api.delete_folder(UNIQUE_TEST_FOLDER)

        args, kargs = mocker.call_args

        self.assertEqual("DELETE", get_method(mocker))
        self.assertTrue(get_uri(args).endswith('/folders/' + UNIQUE_TEST_FOLDER))
Ejemplo n.º 25
0
    def test29_get_upload_presets(self, mocker):
        """ should allow getting a single upload_preset """
        mocker.return_value = MOCK_RESPONSE

        api.upload_preset(API_TEST_PRESET)

        args, kargs = mocker.call_args

        self.assertTrue(get_uri(args).endswith("/upload_presets/" + API_TEST_PRESET))
        self.assertEqual("GET", get_method(mocker))
Ejemplo n.º 26
0
    def test10_delete_metadata_field(self, mocker):
        """Test deleting a metadata field definition by its external id."""
        mocker.return_value = MOCK_RESPONSE
        api.delete_metadata_field(EXTERNAL_ID_DELETE)
        args, kargs = mocker.call_args

        target_uri = "/metadata_fields/{}".format(EXTERNAL_ID_DELETE)
        self.assertTrue(get_uri(args).endswith(target_uri))
        self.assertEqual(get_method(mocker), "DELETE")

        self.assertEqual(json.loads(kargs["body"].decode('utf-8')), {})
Ejemplo n.º 27
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")
Ejemplo n.º 28
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)
Ejemplo n.º 29
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)
Ejemplo n.º 30
0
    def test04_create_int_metadata_field(self, mocker):
        """Test creating an integer metadata field"""
        mocker.return_value = MOCK_RESPONSE
        api.add_metadata_field({
            "external_id": EXTERNAL_ID_INT,
            "label": EXTERNAL_ID_INT,
            "type": "integer",
        })
        args, kargs = mocker.call_args

        self.assertTrue(get_uri(args).endswith("/metadata_fields"))
        self.assertEqual(get_method(mocker), "POST")
        self.assertEqual(json.loads(kargs["body"].decode('utf-8')), {
            "type": "integer",
            "external_id": EXTERNAL_ID_INT,
            "label": EXTERNAL_ID_INT,
        })
Ejemplo n.º 31
0
    def test_create_archive_multiple_resource_types(self, mocker):
        """should allow fully_qualified_public_ids"""

        mocker.return_value = MOCK_RESPONSE

        test_ids = [
            "image/upload/" + UNIQUE_TEST_ID,
            "video/upload/" + UNIQUE_TEST_ID,
            "raw/upload/" + UNIQUE_TEST_ID,
        ]
        uploader.create_zip(resource_type='auto',
                            fully_qualified_public_ids=test_ids)

        args, kargs = mocker.call_args

        self.assertTrue(get_uri(args).endswith('/auto/generate_archive'))
        self.assertEqual(test_ids,
                         get_list_param(mocker, 'fully_qualified_public_ids'))
Ejemplo n.º 32
0
    def test06_create_enum_metadata_field(self, mocker):
        """Test creating an Enum metadata field"""
        mocker.return_value = MOCK_RESPONSE
        api.add_metadata_field({
            "datasource": {
                "values": DATASOURCE_SINGLE,
            },
            "external_id": EXTERNAL_ID_ENUM,
            "label": EXTERNAL_ID_ENUM,
            "type": "enum",
        })
        args, kargs = mocker.call_args

        self.assertTrue(get_uri(args).endswith("/metadata_fields"))
        self.assertEqual(get_method(mocker), "POST")
        self.assertEqual(json.loads(kargs["body"].decode('utf-8')), {
            "datasource": {
                "values": DATASOURCE_SINGLE,
            },
            "external_id": EXTERNAL_ID_ENUM,
            "label": EXTERNAL_ID_ENUM,
            "type": "enum",
        })
Ejemplo n.º 33
0
 def test02_resources(self, mocker):
     """ should allow listing resources """
     mocker.return_value = MOCK_RESPONSE
     api.resources()
     args, kargs = mocker.call_args
     self.assertTrue(get_uri(args).endswith('/resources/image'))
Ejemplo n.º 34
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")
Ejemplo n.º 35
0
 def test_publish_by_ids(self, mocker):
     mocker.return_value = MOCK_RESPONSE
     api.publish_by_ids(["pub1", "pub2"])
     self.assertTrue(get_uri(mocker.call_args[0]).endswith('/resources/image/publish_resources'))
     self.assertIn('pub1', get_list_param(mocker, 'public_ids'))
     self.assertIn('pub2', get_list_param(mocker, 'public_ids'))
Ejemplo n.º 36
0
 def test10_tags(self, mocker):
     """ should allow listing tags """
     mocker.return_value = MOCK_RESPONSE
     api.tags()
     args, kargs = mocker.call_args
     self.assertTrue(get_uri(args).endswith('/tags/image'))