From 14c9229b0c2ebf43c4138c608068a0c3e31ffb7a Mon Sep 17 00:00:00 2001 From: Constantine Nathanson <35217733+const-cloudinary@users.noreply.github.com> Date: Sun, 13 Aug 2023 13:56:13 +0300 Subject: [PATCH] Add support for `on_success` upload parameter --- cloudinary/utils.py | 1 + test/helper_test.py | 1 + test/test_uploader.py | 11 ++--------- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/cloudinary/utils.py b/cloudinary/utils.py index 809776a4..680c175e 100644 --- a/cloudinary/utils.py +++ b/cloudinary/utils.py @@ -92,6 +92,7 @@ "eager_notification_url", "eager_async", "eval", + "on_success", "proxy", "folder", "asset_folder", diff --git a/test/helper_test.py b/test/helper_test.py index 3cf2e469..e0f41dde 100644 --- a/test/helper_test.py +++ b/test/helper_test.py @@ -41,6 +41,7 @@ EVAL_STR = 'if (resource_info["width"] < 450) { upload_options["quality_analysis"] = true }; ' \ 'upload_options["context"] = "width=" + resource_info["width"]' +ON_SUCCESS_STR = 'current_asset.update({tags: ["autocaption"]});' class UTC(tzinfo): """UTC""" diff --git a/test/test_uploader.py b/test/test_uploader.py index 5c7af2cf..cb1c47ad 100644 --- a/test/test_uploader.py +++ b/test/test_uploader.py @@ -18,7 +18,7 @@ from test.cache.storage.dummy_cache_storage import DummyCacheStorage from test.helper_test import uploader_response_mock, SUFFIX, TEST_IMAGE, get_params, get_headers, TEST_ICON, TEST_DOC, \ REMOTE_TEST_IMAGE, UTC, populate_large_file, TEST_UNICODE_IMAGE, get_uri, get_method, get_param, \ - cleanup_test_resources_by_tag, cleanup_test_transformation, cleanup_test_resources, EVAL_STR + cleanup_test_resources_by_tag, cleanup_test_transformation, cleanup_test_resources, EVAL_STR, ON_SUCCESS_STR from test.test_utils import TEST_ID, TEST_FOLDER MOCK_RESPONSE = uploader_response_mock() @@ -427,13 +427,6 @@ def test_use_filename(self): @unittest.skipUnless(cloudinary.config().api_secret, "requires api_key/api_secret") def test_explicit(self): - """Should support explicit """ - result = uploader.explicit("cloudinary", type="twitter_name", eager=[TEST_TRANS_SCALE2_PNG], tags=[UNIQUE_TAG]) - params = dict(TEST_TRANS_SCALE2_PNG, type="twitter_name", version=result["version"]) - url = utils.cloudinary_url("cloudinary", **params)[0] - actual = result["eager"][0]["url"] - self.assertEqual(parse_url(actual).path, parse_url(url).path) - # Test explicit with metadata resource = uploader.upload(TEST_IMAGE, tags=[UNIQUE_TAG]) result_metadata = uploader.explicit(resource['public_id'], type="upload", metadata=METADATA_FIELDS, @@ -958,6 +951,7 @@ def test_various_upload_parameters(self, request_mock): 'accessibility_analysis': True, 'media_metadata': True, 'visual_search': True, + 'on_success': ON_SUCCESS_STR } uploader.upload(TEST_IMAGE, **options) @@ -972,7 +966,6 @@ def test_various_upload_parameters(self, request_mock): for param in options.keys(): self.assertIn(param, params) - @unittest.skipUnless(cloudinary.config().api_secret, "requires api_key/api_secret") def test_eval_upload_parameter(self): """Should support eval in upload"""