예제 #1
0
    def test_objectDynamic(self):
        object = ObjectDynamic()
        object.name = "a"
        object.type = Object.Types.dynamic

        object2 = ObjectDynamic()
        object2.name = "b"
        object2.type = Object.Types.dynamic

        object.items = object2

        object_sample = ObjectDynamicSample(object)

        self.assertEqual("a", object_sample.name)
        self.assertIsInstance(object_sample.items, ObjectDynamicSample)
예제 #2
0
    def test_objectDynamic(self):
        object = ObjectDynamic()
        object.name = "a"
        object.type = Object.Types.dynamic

        object2 = ObjectDynamic()
        object2.name = "b"
        object2.type = Object.Types.dynamic

        object.items = object2

        object_sample = ObjectDynamicSample(object)

        self.assertEqual("a", object_sample.name)
        self.assertIsInstance(object_sample.items, ObjectDynamicSample)
예제 #3
0
    def test_objectdynamic_get_default_sample(self):
        test = ObjectDynamic()
        test.name = "foo"

        self.assertEqual({
            "key1": "my_foo",
            "key2": "sample"
        }, test.get_default_sample())
예제 #4
0
    def test_hydrate_object(self):

        version1 = Version()
        version1.name = "v1"
        version2 = Version()
        version2.name = "v2"

        versions = {"v1": version1, "v2": version2}

        object_dto = []

        object1 = ObjectObject()
        object2 = ObjectObject()
        object3 = ObjectObject()
        object1.name = "a"
        object2.name = "a"
        object3.name = "b"
        array = ObjectArray()
        array.name = "b"
        dynamic = ObjectDynamic()
        dynamic.name = "c"
        string = ObjectString()
        string.name = "d"
        type = ObjectType()
        type.name = "e"
        type.type_object = "f"
        const = ObjectConst()
        const.value = "g"
        enum = ObjectEnum()
        enum.name = "h"
        enum.values = ["h"]

        object1.properties = {"p1": array, "p3": const, "p4": enum}
        object2.properties = {"p1": array, "p3": const, "p4": enum, "p2": type}
        array.items = dynamic
        dynamic.items = string

        response = Hydrator(version1, versions, []).hydrate_object(object_dto, object1)
        response = Hydrator(version2, versions, []).hydrate_object(object_dto, object2)
        response = Hydrator(version1, versions, []).hydrate_object(object_dto, object3)

        self.assertEqual(1, response)
        self.assertEqual(2, len(object_dto))
        self.assertIn(version1.name, object_dto[0].versions)
        self.assertIn(version1.name, object_dto[0].versions)
        self.assertNotIn(version2.name, object_dto[1].versions)
        self.assertEqual("a", object_dto[0].value.name)
        self.assertEqual("b", object_dto[0].value.properties["p1"][0].value.name)
        self.assertEqual("c", object_dto[0].value.properties["p1"][0].value.items[0].value.name)
        self.assertEqual("d", object_dto[0].value.properties["p1"][0].value.items[0].value.items[0].value.name)
        self.assertEqual("e", object_dto[0].value.properties["p2"][0].value.name)
        self.assertEqual("f", object_dto[0].value.properties["p2"][0].value.type_object)
        self.assertEqual("g", object_dto[0].value.properties["p3"][0].value.value)
        self.assertEqual("h", object_dto[0].value.properties["p4"][0].value.values[0].value)
예제 #5
0
    def test_hydrate_object(self):

        version1 = Version()
        version1.name = "v1"
        version2 = Version()
        version2.name = "v2"

        versions = {"v1": version1, "v2": version2}

        object_dto = []

        object1 = ObjectObject()
        object2 = ObjectObject()
        object3 = ObjectObject()
        object1.name = "a"
        object2.name = "a"
        object3.name = "b"
        array = ObjectArray()
        array.name = "b"
        dynamic = ObjectDynamic()
        dynamic.name = "c"
        string = ObjectString()
        string.name = "d"
        type = ObjectType()
        type.name = "e"
        type.type_object = "f"
        const = ObjectConst()
        const.value = "g"
        enum = ObjectEnum()
        enum.name = "h"
        enum.values = ["h"]

        object1.properties = {"p1": array, "p3": const, "p4": enum}
        object2.properties = {"p1": array, "p3": const, "p4": enum, "p2": type}
        array.items = dynamic
        dynamic.items = string

        response = Hydrator(version1, versions,
                            []).hydrate_object(object_dto, object1)
        response = Hydrator(version2, versions,
                            []).hydrate_object(object_dto, object2)
        response = Hydrator(version1, versions,
                            []).hydrate_object(object_dto, object3)

        self.assertEqual(1, response)
        self.assertEqual(2, len(object_dto))
        self.assertIn(version1.name, object_dto[0].versions)
        self.assertIn(version1.name, object_dto[0].versions)
        self.assertNotIn(version2.name, object_dto[1].versions)
        self.assertEqual("a", object_dto[0].value.name)
        self.assertEqual("b",
                         object_dto[0].value.properties["p1"][0].value.name)
        self.assertEqual(
            "c",
            object_dto[0].value.properties["p1"][0].value.items[0].value.name)
        self.assertEqual(
            "d", object_dto[0].value.properties["p1"]
            [0].value.items[0].value.items[0].value.name)
        self.assertEqual("e",
                         object_dto[0].value.properties["p2"][0].value.name)
        self.assertEqual(
            "f", object_dto[0].value.properties["p2"][0].value.type_object)
        self.assertEqual("g",
                         object_dto[0].value.properties["p3"][0].value.value)
        self.assertEqual(
            "h", object_dto[0].value.properties["p4"][0].value.values[0].value)