コード例 #1
0
 public void Test_Reading_Defaults_From_Int_Array_Schema_With_String_Defaults_Throws_Exception()
 {
     Assert.ThrowsException <JSchemaValidationException>(() =>
     {
         var schemaDefaultGenerator = new SchemaDefaultGenerator();
         var defaultJSON            = schemaDefaultGenerator.GetDefaults("{" +
                                                                         "type: 'array'," +
                                                                         "items : {" +
                                                                         " type : 'number'" +
                                                                         "}," +
                                                                         "default: ['getchute', 'chute']" +
                                                                         "}");
     });
 }
コード例 #2
0
        public void Test_Reading_Defaults_From_String_Schema_With_Local_Reference()
        {
            var schemaDefaultGenerator = new SchemaDefaultGenerator();
            var schemaJson             = "{" +
                                         "type: 'object'," +
                                         "properties: {" +
                                         "farewell_to_arms: { " +
                                         "allOf: [" +
                                         "{'$ref': '#/definitions/book'}," +
                                         "{'properties': {" +
                                         "price: {" +
                                         "default : 30" +
                                         "}" +
                                         "}" +
                                         "}]" +
                                         "}," +
                                         "for_whom_the_bell_tolls: {" +
                                         "allOf: [" +
                                         "{'$ref': '#/definitions/book'}, " +
                                         "{ properties: { " +
                                         " price: { " +
                                         "default: 100 " +
                                         "}" +
                                         "}" +
                                         "}" +
                                         "]" +
                                         "}" +
                                         "}," +
                                         "definitions: {" +
                                         "book: {" +
                                         "type: 'object'," +
                                         "properties: {" +
                                         "author: {" +
                                         "type: 'string'," +
                                         "default: 'Hemingway'" +
                                         "}," +
                                         "price: {" +
                                         "type: 'integer'," +
                                         "default: 10" +
                                         "}" +
                                         "}" +
                                         "}" +
                                         "}" +
                                         "}";

            var defaultJson     = schemaDefaultGenerator.GetDefaults(schemaJson);
            var expectedDefault = JObject.Parse("{ farewell_to_arms: { author: 'Hemingway', price: 30 }, for_whom_the_bell_tolls: { author: 'Hemingway', price: 100 } }");

            Assert.IsTrue(JToken.DeepEquals(defaultJson, expectedDefault));
        }
コード例 #3
0
        public void Test_Reading_Defaults_From_String_Array_Schema_Gets_Default_Data()
        {
            var schemaDefaultGenerator = new SchemaDefaultGenerator();
            var defaultJSON            = schemaDefaultGenerator.GetDefaults("{" +
                                                                            "type: 'array'," +
                                                                            "items : {" +
                                                                            " type : 'string'" +
                                                                            "}," +
                                                                            "default: ['getchute', 'chute']" +
                                                                            "}");

            var expectedResult = JArray.Parse("['getchute', 'chute']");

            Assert.IsTrue(JToken.DeepEquals(defaultJSON, expectedResult));
        }
コード例 #4
0
 public void Test_Reading_Defaults_From_String_Schema_With_Enum_And_Wrong_Defaults_Throws()
 {
     Assert.ThrowsException <JSchemaValidationException>(() =>
     {
         var schemaDefaultGenerator = new SchemaDefaultGenerator();
         var defaultJSON            = schemaDefaultGenerator.GetDefaults("{" +
                                                                         "\"title\": \"Album Options\", " +
                                                                         "\"type\": \"object\"," +
                                                                         "\"properties\": {" +
                                                                         "   \"sort\": {" +
                                                                         "       \"type\": \"string\"," +
                                                                         "        enum: ['somethingElse']," +
                                                                         "       \"default\": \"id\"" +
                                                                         "   }," +
                                                                         "   \"per_page\": {" +
                                                                         "       \"default\": 30," +
                                                                         "       \"type\": \"integer\"" +
                                                                         "   }" +
                                                                         "}}");
     });
 }
コード例 #5
0
        public void Test_Reading_Defaults_From_String_Schema_Gets_Default_Json()
        {
            var schemaDefaultGenerator = new SchemaDefaultGenerator();
            var defaultJSON            = schemaDefaultGenerator.GetDefaults("{" +
                                                                            "\"title\": \"Album Options\", " +
                                                                            "\"type\": \"object\"," +
                                                                            "\"properties\": {" +
                                                                            "   \"sort\": {" +
                                                                            "       \"type\": \"string\"," +
                                                                            "       \"default\": \"id\"" +
                                                                            "   }," +
                                                                            "   \"per_page\": {" +
                                                                            "       \"default\": 30," +
                                                                            "       \"type\": \"integer\"" +
                                                                            "   }" +
                                                                            "}}");

            var expectedResult = JObject.Parse("{ sort: 'id', per_page: 30 }");

            Assert.IsTrue(JToken.DeepEquals(defaultJSON, expectedResult));
        }