示例#1
0
    def test_method(self):
        method = Method()
        method.name = "a"
        method.method = Method.Methods.post
        method.code = 200
        method.full_uri = "c"
        method.absolute_uri = "d"

        parameter = Parameter()
        parameter.type = "string"
        method.request_headers = {"e": parameter}
        method.request_parameters = {"f": parameter}
        method.request_body = ObjectObject()
        method.response_body = ObjectArray()

        method_sample = MethodSample(method)

        self.assertEqual("a", method_sample.name)
        self.assertEqual(Method.Methods.post, method_sample.method)
        self.assertEqual(200, method_sample.code)
        self.assertEqual("OK", method_sample.message)
        self.assertEqual("c", method_sample.full_uri)
        self.assertEqual("d", method_sample.absolute_uri)
        self.assertIsInstance(method_sample.request_headers, list)
        self.assertEqual(1, len(method_sample.request_headers))
        self.assertIsInstance(method_sample.request_headers[0],
                              ParameterSample)
        self.assertIsInstance(method_sample.request_parameters, dict)
        self.assertEqual(1, len(method_sample.request_parameters.values()))
        self.assertIsInstance(method_sample.request_parameters["f"],
                              ParameterSample)
        self.assertIsInstance(method_sample.request_body, ObjectObjectSample)
        self.assertIsInstance(method_sample.response_body, ObjectArraySample)
示例#2
0
    def test_get_uri_with_missing_parameters(self):
        root = Root()
        version = Version()
        version.name = "v"
        method = Method()
        method.name = "m"
        method.category = "a"
        method.full_uri = "/{foo}/{p}"

        parameter = Parameter()
        parameter.name = "p"
        parameter.type = "string"
        method.request_parameters = {"p": parameter}

        root.versions = {"v": version}
        version.methods = {"m": method}
        version.types = {"m": type}

        root_dto = RootDto()

        hydrator = Hydrator(version, {"v": version}, [])
        hydrator.hydrate_method(root_dto, root, method)

        parameters = self.source.validate(root_dto)
        parameters = self.source.get_uri_with_missing_parameters(root_dto)

        self.assertEqual([
            {"name": "foo", "uri": "/{foo}/{p}", "method": "m", "version": "v"},
        ], parameters)
示例#3
0
    def test_hydrate_method(self):

        root = Root()
        version = Version()
        version.name = "v"
        method = Method()
        method.category = "a"
        method.full_uri = "/{p}/"

        parameter = Parameter()
        parameter.name = "p"
        parameter.type = "string"
        method.request_parameters = {"p": parameter}

        root.versions = {"v": version}
        version.methods = {"m": method}
        version.types = {"m": type}

        root_dto = RootDto()

        hydrator = Hydrator(version, {"v": version}, [])

        hydrator.hydrate_method(root_dto, root, method)

        self.assertEqual(1, len(root_dto.method_categories))
        self.assertEqual(0, len(root_dto.type_categories))
        self.assertEqual(1, len(root_dto.method_categories[0].methods))
        self.assertEqual(1, len(root_dto.method_categories[0].methods[0].request_parameters))
        self.assertIsInstance(root_dto.method_categories[0].methods[0].request_parameters[0].value, RequestParameter)
        self.assertEqual(1, root_dto.method_categories[0].methods[0].request_parameters[0].value.position)
示例#4
0
    def test_get_uri_with_missing_parameters(self):
        root = Root()
        version = Version()
        version.name = "v"
        method = Method()
        method.name = "m"
        method.category = "a"
        method.full_uri = "/{foo}/{p}"

        parameter = Parameter()
        parameter.name = "p"
        parameter.type = "string"
        method.request_parameters = {"p": parameter}

        root.versions = {"v": version}
        version.methods = {"m": method}
        version.types = {"m": type}

        root_dto = RootDto()

        hydrator = Hydrator(version, {"v": version}, [])
        hydrator.hydrate_method(root_dto, root, method)

        parameters = self.source.validate(root_dto)
        parameters = self.source.get_uri_with_missing_parameters(root_dto)

        self.assertEqual([
            {
                "name": "foo",
                "uri": "/{foo}/{p}",
                "method": "m",
                "version": "v"
            },
        ], parameters)
示例#5
0
    def test_method(self):
        method = Method()
        method.name = "a"
        method.method = Method.Methods.post
        method.code = 200
        method.full_uri = "c"
        method.absolute_uri = "d"

        parameter = Parameter()
        parameter.type = "string"
        method.request_headers = {"e": parameter}
        method.request_parameters = {"f": parameter}
        method.request_body = ObjectObject()
        method.response_body = ObjectArray()

        method_sample = MethodSample(method)

        self.assertEqual("a", method_sample.name)
        self.assertEqual(Method.Methods.post, method_sample.method)
        self.assertEqual(200, method_sample.code)
        self.assertEqual("OK", method_sample.message)
        self.assertEqual("c", method_sample.full_uri)
        self.assertEqual("d", method_sample.absolute_uri)
        self.assertIsInstance(method_sample.request_headers, list)
        self.assertEqual(1, len(method_sample.request_headers))
        self.assertIsInstance(method_sample.request_headers[0], ParameterSample)
        self.assertIsInstance(method_sample.request_parameters, dict)
        self.assertEqual(1, len(method_sample.request_parameters.values()))
        self.assertIsInstance(method_sample.request_parameters["f"], ParameterSample)
        self.assertIsInstance(method_sample.request_body, ObjectObjectSample)
        self.assertIsInstance(method_sample.response_body, ObjectArraySample)
示例#6
0
    def test_hydrate_method(self):

        root = Root()
        version = Version()
        version.name = "v"
        method = Method()
        method.category = "a"
        method.full_uri = "/{p}/"

        parameter = Parameter()
        parameter.name = "p"
        parameter.type = "string"
        method.request_parameters = {"p": parameter}

        root.versions = {"v": version}
        version.methods = {"m": method}
        version.types = {"m": type}

        root_dto = RootDto()

        hydrator = Hydrator(version, {"v": version}, [])

        hydrator.hydrate_method(root_dto, root, method)

        self.assertEqual(1, len(root_dto.method_categories))
        self.assertEqual(0, len(root_dto.type_categories))
        self.assertEqual(1, len(root_dto.method_categories[0].methods))
        self.assertEqual(
            1,
            len(root_dto.method_categories[0].methods[0].request_parameters))
        self.assertIsInstance(
            root_dto.method_categories[0].methods[0].request_parameters[0].
            value, RequestParameter)
        self.assertEqual(
            1, root_dto.method_categories[0].methods[0].request_parameters[0].
            value.position)