public void TestDeleteTransform()
        {
            // should allow deleting named transformation

            m_cloudinary.DeleteTransform("api_test_transformation2");

            CreateTransformParams create = new CreateTransformParams()
            {
                Name      = "api_test_transformation2",
                Transform = new Transformation().Crop("scale").Width(103)
            };

            TransformResult createResult = m_cloudinary.CreateTransform(create);

            Assert.AreEqual("created", createResult.Message);

            m_cloudinary.DeleteTransform("api_test_transformation2");

            GetTransformResult getResult = m_cloudinary.GetTransform(
                new GetTransformParams()
            {
                Transformation = "api_test_transformation2"
            });

            Assert.AreEqual(HttpStatusCode.NotFound, getResult.StatusCode);
        }
        public void Initialize()
        {
            m_account = new Account(
                Settings.Default.CloudName,
                Settings.Default.ApiKey,
                Settings.Default.ApiSecret);

            if (String.IsNullOrEmpty(m_account.Cloud))
            {
                Console.WriteLine("Cloud name must be specified in test configuration (app.config)!");
            }

            if (String.IsNullOrEmpty(m_account.ApiKey))
            {
                Console.WriteLine("Cloudinary API key must be specified in test configuration (app.config)!");
            }

            if (String.IsNullOrEmpty(m_account.ApiSecret))
            {
                Console.WriteLine("Cloudinary API secret must be specified in test configuration (app.config)!");
            }

            Assert.IsFalse(String.IsNullOrEmpty(m_account.Cloud));
            Assert.IsFalse(String.IsNullOrEmpty(m_account.ApiKey));
            Assert.IsFalse(String.IsNullOrEmpty(m_account.ApiSecret));

            m_cloudinary = new Cloudinary(m_account);

            m_testImagePath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "TestImage.jpg");
            m_testPdfPath   = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "multipage.pdf");
            m_testIconPath  = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "favicon.ico");

            Resources.TestImage.Save(m_testImagePath);
            File.WriteAllBytes(m_testPdfPath, Resources.multipage);

            using (Stream s = new FileStream(m_testIconPath, FileMode.Create, FileAccess.Write, FileShare.None))
            {
                Resources.favicon.Save(s);
            }

            m_cloudinary.DeleteTransform("api_test_transformation3");
        }
        public virtual void Cleanup()
        {
            foreach (ResourceType resourceType in Enum.GetValues(typeof(ResourceType)))
            {
                m_cloudinary.DeleteResources(new DelResParams()
                {
                    Tag = m_apiTag, ResourceType = resourceType
                });
            }

            m_cloudinary.DeleteResources(new DelResParams()
            {
                Tag = m_apiTag, ResourceType = ResourceType.Raw, Type = STORAGE_TYPE_PRIVATE
            });

            foreach (var prefix in new[] { m_folderPrefix, m_apiTest })
            {
                m_cloudinary.DeleteResourcesByPrefix(prefix);
            }

            foreach (var item in m_publicIdsToClear)
            {
                if (item.Value.Count == 0)
                {
                    continue;
                }

                m_cloudinary.DeleteResources(new DelResParams()
                {
                    Type         = item.Key.ToString(),
                    PublicIds    = item.Value,
                    ResourceType = ResourceType.Image
                });
            }

            m_transformationsToClear.ForEach(t => m_cloudinary.DeleteTransform(t.ToString()));
            m_presetsToClear.ForEach(p => m_cloudinary.DeleteUploadPreset(p));
            FoldersToClear.ForEach(f => m_cloudinary.DeleteFolder(f));
            m_metadataFieldsToClear.ForEach(p => m_cloudinary.DeleteMetadataField(p));
        }