コード例 #1
0
        public void TestAndValidationParamsCheck()
        {
            var parameters = new AndValidationParams(null);

            AssertCheck(parameters, "Rules list must not be null");

            parameters.Rules = new List <MetadataValidationParams>();
            AssertCheck(parameters, "Rules list must not be empty");
        }
コード例 #2
0
        public void TestDateFieldDefaultValueValidation()
        {
            var todayDate       = DateTime.Today.Date;
            var pastDate        = todayDate.AddDays(-3);
            var yesterdayDate   = todayDate.AddDays(-1);
            var futureDate      = todayDate.AddDays(3);
            var validationRules = new List <MetadataValidationParams>
            {
                new DateGreaterThanValidationParams(pastDate),
                new DateLessThanValidationParams(todayDate)
            };
            var lastThreeDaysValidation = new AndValidationParams(validationRules);

            // Test entering a metadata field with date validation and a valid default value.
            var validMetadataField = new DateMetadataFieldCreateParams(m_externalIdDateValidation)
            {
                ExternalId   = m_externalIdDateValidation,
                DefaultValue = yesterdayDate,
                Validation   = lastThreeDaysValidation
            };

            var validMetadataFieldResult = m_cloudinary.AddMetadataField(validMetadataField);

            Assert.AreEqual(validMetadataField.DefaultValue.Value.ToString("yyyy-MM-dd"),
                            validMetadataFieldResult.DefaultValue);
            Assert.NotNull(validMetadataFieldResult.Validation);
            Assert.AreEqual(validationRules.Count, validMetadataFieldResult.Validation.Rules.Count);

            // Test entering a metadata field with date validation and an invalid default value.
            var invalidMetadataField = new DateMetadataFieldCreateParams(m_externalIdDateValidation2)
            {
                ExternalId   = m_externalIdDateValidation2,
                DefaultValue = futureDate,
                Validation   = lastThreeDaysValidation
            };

            var invalidMetadataFieldResult = m_cloudinary.AddMetadataField(invalidMetadataField);

            Assert.NotNull(invalidMetadataFieldResult.Error);
        }
コード例 #3
0
        public void TestAndValidationParamsDictionary()
        {
            var strLenParams = new StringLengthValidationParams
            {
                Max = 10
            };
            var intLessThanParams = new IntLessThanValidationParams(30);
            var parameters        = new AndValidationParams(new List <MetadataValidationParams>
            {
                strLenParams, intLessThanParams
            });

            Assert.DoesNotThrow(() => parameters.Check());

            var dictionary = parameters.ToParamsDictionary();

            Assert.AreEqual("and", dictionary["type"]);
            var rules = (List <SortedDictionary <string, object> >)dictionary["rules"];

            Assert.AreEqual(parameters.Rules.Count, rules.Count);
            Assert.AreEqual("strlen", rules[0]["type"]);
            Assert.AreEqual("less_than", rules[1]["type"]);
        }