private ImageUploadResult PresetAndGetImageUploadResult(bool accessibilityAnalysis = false)
        {
            var presetParams = new UploadPresetParams()
            {
                Name     = GetUniquePresetName(),
                Folder   = PresetFolder,
                Unsigned = true,
                Tags     = m_apiTag
            };

            if (accessibilityAnalysis)
            {
                presetParams.AccessibilityAnalysis = true;
            }

            var preset = m_cloudinary.CreateUploadPreset(presetParams);

            var acc        = new Account(m_cloudName);
            var cloudinary = new Cloudinary(acc);

            return(cloudinary.Upload(new ImageUploadParams()
            {
                File = new FileDescription(m_testImagePath),
                UploadPreset = preset.Name,
                Unsigned = true,
                Tags = m_apiTag
            }));
        }
Esempio n. 2
0
 public async Task <UploadPresetResult> CreateUploadPresetAsync(UploadPresetParams parameters)
 {
     using (var response = await Api.CallAsync(HttpMethod.Post, Api.ApiUrlV.Add("upload_presets").BuildUrl(), parameters.ToParamsDictionary(), null, null))
     {
         return(await UploadPresetResult.Parse(response));
     }
 }
        public void TestGetUploadPreset()
        {
            // should allow getting a single upload_preset
            var folder = "folder";

            var @params = new UploadPresetParams()
            {
                Tags            = $"a,b,c,{m_apiTag}",
                Name            = GetUniquePresetName(),
                Context         = new StringDictionary("a=b", "c=d"),
                Transformation  = m_simpleTransformation,
                EagerTransforms = new List <object>()
                {
                    m_resizeTransformation
                },
                FaceCoordinates = "1,2,3,4",
                Unsigned        = true,
                QualityAnalysis = true,
                Folder          = folder,
                AllowedFormats  = new[] { FILE_FORMAT_JPG, FILE_FORMAT_PDF }
            };

            var creationResult = m_cloudinary.CreateUploadPreset(@params);

            var preset = m_cloudinary.GetUploadPreset(creationResult.Name);

            Assert.AreEqual(creationResult.Name, preset.Name);
            Assert.AreEqual(true, preset.Unsigned);
            Assert.IsTrue(preset.Settings.QualityAnalysis);
            Assert.AreEqual(folder, preset.Settings.Folder);
            Assert.AreEqual("0.5", preset.Settings.Transformation[0]["width"].ToString());
            Assert.AreEqual("scale", preset.Settings.Transformation[0]["crop"].ToString());
        }
        public void UploadPresetParamsCheckTest()
        {
            var p = new UploadPresetParams {
                Overwrite = true, Unsigned = true
            };

            Assert.Throws <ArgumentException>(p.Check, "Should require only one property set to true: Overwrite or Unsigned");
        }
Esempio n. 5
0
        public async Task <UploadPresetResult> UpdateUploadPresetAsync(UploadPresetParams parameters)
        {
            var paramsDictionary = parameters.ToParamsDictionary();

            paramsDictionary.Remove("name");
            using (var response = await Api.CallAsync(HttpMethod.Put, Api.ApiUrlV.Add("upload_presets").Add(parameters.Name).BuildUrl(), paramsDictionary, null, null))
            {
                return(await UploadPresetResult.Parse(response));
            }
        }
Esempio n. 6
0
        /// <summary>
        /// Creates the upload preset.
        /// Upload presets allow you to define the default behavior for your uploads, instead of receiving these as parameters during the upload request itself. Upload presets have precedence over client-side upload parameters.
        /// </summary>
        /// <param name="parameters">Parameters of the upload preset.</param>
        /// <returns></returns>
        public UploadPresetResult CreateUploadPreset(UploadPresetParams parameters)
        {
            UrlBuilder urlBuilder = new UrlBuilder(
                m_api.ApiUrlV.
                Add("upload_presets").
                BuildUrl(),
                parameters.ToParamsDictionary());

            using (HttpWebResponse response = m_api.Call(HttpMethod.POST, urlBuilder.ToString(), null, null))
            {
                return(UploadPresetResult.Parse(response));
            }
        }
        public void TestCreateUploadPreset()
        {
            var parameters = new UploadPresetParams
            {
                Name   = apiTestPreset,
                Folder = folderName
            };

            mockedCloudinary.CreateUploadPreset(parameters);

            mockedCloudinary.AssertHttpCall(SystemHttp.HttpMethod.Post, uploadPresetsRootUrl);
            Assert.True(mockedCloudinary.HttpRequestContent.Contains(folderName));
        }
        public void TestUpdateUploadPreset()
        {
            // should allow updating upload presets

            var presetToCreate = new UploadPresetParams()
            {
                Folder          = "folder",
                Name            = GetUniquePresetName(),
                Context         = new StringDictionary("a=b", "b=c"),
                Transformation  = m_simpleTransformation,
                EagerTransforms = new List <object>()
                {
                    m_resizeTransformation, m_updateTransformation
                },
                AllowedFormats  = new string[] { FILE_FORMAT_JPG, FILE_FORMAT_PNG },
                Tags            = $"a,b,c,{m_apiTag}",
                FaceCoordinates = "1,2,3,4",
                Live            = false
            };

            var presetName = m_cloudinary.CreateUploadPreset(presetToCreate).Name;

            var preset = m_cloudinary.GetUploadPreset(presetName);

            Assert.IsFalse(preset.Settings.Live);

            var presetToUpdate = new UploadPresetParams(preset)
            {
                Colors           = true,
                Unsigned         = true,
                DisallowPublicId = true,
                QualityAnalysis  = true,
                Live             = true
            };

            var result = m_cloudinary.UpdateUploadPreset(presetToUpdate);

            Assert.AreEqual(HttpStatusCode.OK, result.StatusCode);
            Assert.AreEqual("updated", result.Message);

            preset = m_cloudinary.GetUploadPreset(presetName);

            Assert.AreEqual(presetName, preset.Name);
            Assert.IsTrue(preset.Unsigned);
            Assert.IsTrue(preset.Settings.QualityAnalysis);
            Assert.IsTrue(preset.Settings.Live);

            // TODO: compare settings of preset and presetToUpdate
        }
        public void TestUpdateUploadPreset()
        {
            var parameters = new UploadPresetParams
            {
                Name   = apiTestPreset,
                Folder = folderName,
                Eval   = evalStr
            };

            mockedCloudinary.UpdateUploadPreset(parameters);

            mockedCloudinary.AssertHttpCall(SystemHttp.HttpMethod.Put, $"{uploadPresetsRootUrl}/{apiTestPreset}");
            Assert.True(mockedCloudinary.HttpRequestContent.Contains(folderName));
            Assert.True(mockedCloudinary.HttpRequestContent.Contains(evalStr));
        }
        public void TestListUploadPresets()
        {
            var deleted           = "deleted";
            var testUploadPreset1 = GetUniquePresetName();
            var testUploadPreset2 = GetUniquePresetName();

            // should allow creating and listing upload_presets
            var preset = new UploadPresetParams()
            {
                Name             = testUploadPreset1,
                Folder           = "folder",
                DisallowPublicId = true,
                Unsigned         = true,
                Tags             = m_apiTag,
                AllowedFormats   = new string[] { FILE_FORMAT_JPG, FILE_FORMAT_BMP }
            };

            var result = m_cloudinary.CreateUploadPreset(preset);

            preset = new UploadPresetParams()
            {
                Name            = testUploadPreset2,
                Folder          = "folder2",
                Tags            = $"{m_apiTag},a,b,c",
                Context         = new StringDictionary("a=b", "c=d"),
                Transformation  = m_simpleTransformation,
                EagerTransforms = new List <object>()
                {
                    m_resizeTransformation
                },
                FaceCoordinates = "1,2,3,4"
            };

            result = m_cloudinary.CreateUploadPreset(preset);

            var presets = m_cloudinary.ListUploadPresets();

            Assert.AreEqual(presets.Presets[0].Name, testUploadPreset2);
            Assert.AreEqual(presets.Presets[1].Name, testUploadPreset1);

            var delResult = m_cloudinary.DeleteUploadPreset(testUploadPreset1);

            Assert.AreEqual(deleted, delResult.Message);
            delResult = m_cloudinary.DeleteUploadPreset(testUploadPreset2);
            Assert.AreEqual(deleted, delResult.Message);
        }
Esempio n. 11
0
        /// <summary>
        /// Updates the upload preset.
        /// Every update overwrites all the preset settings.
        /// </summary>
        /// <param name="parameters">New parameters for upload preset.</param>
        /// <returns></returns>
        public UploadPresetResult UpdateUploadPreset(UploadPresetParams parameters)
        {
            var @params = parameters.ToParamsDictionary();

            @params.Remove("name");

            UrlBuilder urlBuilder = new UrlBuilder(
                m_api.ApiUrlV
                .Add("upload_presets")
                .Add(parameters.Name)
                .BuildUrl(),
                @params);

            using (HttpWebResponse response = m_api.Call(HttpMethod.PUT, urlBuilder.ToString(), null, null))
            {
                return(UploadPresetResult.Parse(response));
            }
        }
 public static UploadPresetResult CreateUploadPreset(this Cloudinary cloudinary, UploadPresetParams parameters)
 {
     return(cloudinary.CreateUploadPresetAsync(parameters).ExecSync());
 }