コード例 #1
0
 def test_init(self):
     # Arrange
     schema = {
         "id": "http://schema1",
         "name": "TestSchema",
         "description": "Unit testing schema",
         "properties": {
             "prop1": {
                 "type": "string",
                 "description": "prop1 description",
             },
             "prop2": {
                 "type": "string",
                 "description": "prop2 description",
             },
         },
         "patternProperties": {
             "prop?": {
                 "type": "string",
                 "description": "pattern prop",
             },
         },
     }
     cache = {schema["id"]: schema}
     # Act
     obj = SchemasLoader(cache=cache)
     schema_get = obj.get(schema["id"])
     # Assert
     self.assertTrue(isinstance(obj, SchemasLoader))
     self.assertEqual(schema_get, schema)
コード例 #2
0
ファイル: models_test.py プロジェクト: ahassany/unis
 def test_init(self):
     # Arrange
     schema = {
         "id": "http://schema1",
         "name": "TestSchema",
         "description": "Unit testing schema",
         "properties": {
             "prop1": {
                 "type": "string",
                 "description": "prop1 description",
             },
             "prop2": {
                 "type": "string",
                 "description": "prop2 description",
             },
         },
         "patternProperties": {
             "prop?": {
                 "type": "string",
                 "description": "pattern prop",
             },
         },
     }
     cache = {schema["id"]: schema}
     # Act
     obj = SchemasLoader(cache=cache)
     schema_get = obj.get(schema["id"])
     # Assert
     self.assertTrue(isinstance(obj, SchemasLoader))
     self.assertEqual(schema_get, schema)
コード例 #3
0
ファイル: models_test.py プロジェクト: periscope-ps/unis
    def test_nested_schemas(self):
        # Arrange
        schema = {
            "name": "TestSchema",
            "description": "Unit testing schema",
            "properties": {
                "prop1": {"type": "string", "description": "prop1 description"},
                "prop2": {"type": [{"$ref": "schema2"}], "description": "prop2 description"},
            },
        }
        schema2 = {
            "name": "TestSchema2",
            "description": "Unit testing schema2",
            "properties": {"p1": {"type": "string", "description": "prop1 description"}},
        }
        data = {"prop1": "value1", "prop2": {"p1": "value2"}}
        Schema = JSONSchemaModel.json_model_factory("Schema", schema)
        Schema2 = JSONSchemaModel.json_model_factory("Schema2", schema2, extends=Schema)
        loader_mock = SchemasLoader()
        loader_mock.get_class = MagicMock()
        loader_mock.get_class.return_value = Schema2

        # Act
        schemaModel = Schema(data, schemas_loader=loader_mock)
        # Assert
        self.assertTrue(hasattr(schemaModel, "prop1"))
        self.assertTrue(hasattr(schemaModel, "prop2"))
        self.assertEqual(schemaModel.prop1, data["prop1"])
        self.assertEqual(schemaModel.prop2, data["prop2"])
        self.assertEqual(schemaModel["prop1"], data["prop1"])
        self.assertEqual(schemaModel["prop2"], data["prop2"])
        self.assertEqual(type(schemaModel.prop2), Schema2)
コード例 #4
0
    def test_nested_schemas(self):
        # Arrange
        schema = {
            "name": "TestSchema",
            "description": "Unit testing schema",
            "properties": {
                "prop1": {
                    "type": "string",
                    "description": "prop1 description",
                },
                "prop2": {
                    "type": [{
                        "$ref": "schema2"
                    }],
                    "description": "prop2 description",
                },
            }
        }
        schema2 = {
            "name": "TestSchema2",
            "description": "Unit testing schema2",
            "properties": {
                "p1": {
                    "type": "string",
                    "description": "prop1 description",
                }
            }
        }
        data = {
            "prop1": "value1",
            "prop2": {
                "p1": "value2",
            }
        }
        Schema = JSONSchemaModel.json_model_factory("Schema", schema)
        Schema2 = JSONSchemaModel.json_model_factory("Schema2",
                                                     schema2,
                                                     extends=Schema)
        loader_mock = SchemasLoader()
        loader_mock.get_class = MagicMock()
        loader_mock.get_class.return_value = Schema2

        # Act
        schemaModel = Schema(data, schemas_loader=loader_mock)
        # Assert
        self.assertTrue(hasattr(schemaModel, "prop1"))
        self.assertTrue(hasattr(schemaModel, "prop2"))
        self.assertEqual(schemaModel.prop1, data["prop1"])
        self.assertEqual(schemaModel.prop2, data["prop2"])
        self.assertEqual(schemaModel["prop1"], data["prop1"])
        self.assertEqual(schemaModel["prop2"], data["prop2"])
        self.assertEqual(type(schemaModel.prop2), Schema2)