Пример #1
0
    def test_convert_object_to_json(self):
        class Collaborator:
            name = 'Collaborator'
            desc = 'This is an object collaborator'
            some_int = 10
            some_float = 10.0

        c1 = {
            'name': 'Collaborator',
            'desc': 'This is an object collaborator',
            'some_int': 10,
            'some_float': 10.0
        }
        c2 = Collaborator()

        self.assertEqual(Converter.serialize(c1), Converter.serialize(c2))

        class Collaborator2(object):
            name = 'Collaborator'
            desc = 'This is an object collaborator'
            some_int = 10
            some_float = 10.0

        c3 = Collaborator2()

        self.assertEqual(Converter.serialize(c1), Converter.serialize(c3))
    def test_convert_object_to_json(self):

        class Collaborator:
            name = 'Collaborator'
            desc = 'This is an object collaborator'
            some_int = 10
            some_float = 10.0

        c1 = {
            'name': 'Collaborator',
            'desc': 'This is an object collaborator',
            'some_int': 10,
            'some_float': 10.0
        }
        c2 = Collaborator()

        self.assertEqual(Converter.serialize(c1), Converter.serialize(c2))

        class Collaborator2(object):
            name = 'Collaborator'
            desc = 'This is an object collaborator'
            some_int = 10
            some_float = 10.0

        c3 = Collaborator2()

        self.assertEqual(Converter.serialize(c1), Converter.serialize(c3))
Пример #3
0
    def _prepare_response_object(self, result, request):
        """Renders the result.subject into JSON if needed
        """

        if 'application/json' in result.headers.values():
            result.subject = Converter.serialize(result.subject)

        return result
Пример #4
0
    def _prepare_response_object(self, result, request):
        """Renders the result.subject into JSON if needed
        """

        if 'application/json' in result.headers.values():
            result.subject = Converter.serialize(result.subject)

        return result
Пример #5
0
    def _prepare_response(self, result, request):
        """Renders the result to convert it to the appropiate format
        """

        result = Converter.serialize(result)
        headers = {'content-type': 'application/json'}
        retval = response.Ok(result, headers)

        return retval
Пример #6
0
    def _prepare_response(self, result, request):
        """Renders the result to convert it to the appropiate format
        """

        result = Converter.serialize(result)
        headers = {'content-type': 'application/json'}
        retval = response.Ok(result, headers)

        return retval
Пример #7
0
    def _prepare_response(self, result, request):
        """
        Renders the result to cobvert it to the appropiate format
        """

        if type(result) is str:
            if re.match(UrlRegex.html_regex, result):
                retval = response.Ok(result, {'content-type': 'text/html'})
            else:
                retval = response.Ok(result, {'content-type': 'text/plain'})
        elif isinstance(result, response.Response):
            if 'application/json' in result.headers.values():
                result.subject = Converter.serialize(result.subject)
            retval = result
        else:
            result = Converter.serialize(result)
            headers = {'content-type': 'application/json'}
            retval = response.Ok(result, headers)

        return retval
    def test_can_convert_non_static_properties_in_objects(self):

        class Collaborator:
            def __init__(self, name):
                self.name = name

        self.assertEqual(
            Converter.serialize(Collaborator('C1')), {'name': 'C1'})

        c2 = Collaborator('C2')
        c2.size = 3
        self.assertEqual(Converter.serialize(c2), {'name': 'C2', 'size': 3})
        c3 = Collaborator('C3')
        c3.collaborator = c2
        c3.pene = decimal.Decimal('10.0')

        self.assertEqual(Converter.serialize(c3), {
            'collaborator': {
                'name': 'C2', 'size': 3}, 'pene': '10.0', 'name': 'C3'
        })
Пример #9
0
    def test_can_convert_non_static_properties_in_objects(self):

        class Collaborator:
            def __init__(self, name):
                self.name = name

        self.assertEqual(
            Converter.serialize(Collaborator('C1')), {'name': 'C1'})

        c2 = Collaborator('C2')
        c2.size = 3
        self.assertEqual(Converter.serialize(c2), {'name': 'C2', 'size': 3})
        c3 = Collaborator('C3')
        c3.collaborator = c2
        c3.pene = decimal.Decimal('10.0')

        self.assertEqual(Converter.serialize(c3), {
            'collaborator': {
                'name': 'C2', 'size': 3}, 'pene': '10.0', 'name': 'C3'
        })
Пример #10
0
    def _prepare_response(self, result, request):
        """
        Renders the result to cobvert it to the appropiate format
        """

        if type(result) is str:
            if re.match(UrlRegex.html_regex, result):
                retval = response.Ok(result, {'content-type': 'text/html'})
            else:
                retval = response.Ok(result, {'content-type': 'text/plain'})
        elif isinstance(result, response.Response):
            if 'application/json' in result.headers.values():
                result.subject = Converter.serialize(result.subject)
            retval = result
        else:
            result = Converter.serialize(result)
            headers = {'content-type': 'application/json'}
            retval = response.Ok(result, headers)

        return retval
    def test_convert_multi_level(self):

        class Collaborator:
            name = 'C1'

        class Collabortor2:
            name = 'C2'
            child = Collaborator()

        class Collaborator3:
            name = 'C3'
            child = Collabortor2()

        self.assertEqual(
            Converter.serialize(Collaborator3()),
            {'name': 'C3', 'child': {'name': 'C2', 'child': {'name': 'C1'}}}
        )
Пример #12
0
    def test_convert_multi_level(self):

        class Collaborator:
            name = 'C1'

        class Collabortor2:
            name = 'C2'
            child = Collaborator()

        class Collaborator3:
            name = 'C3'
            child = Collabortor2()

        self.assertEqual(
            Converter.serialize(Collaborator3()),
            {'name': 'C3', 'child': {'name': 'C2', 'child': {'name': 'C1'}}}
        )
    def test_convert_decimal(self):

        class Collaborator:
            data = decimal.Decimal('1.29')

        self.assertEqual(Converter.serialize(Collaborator()), {'data': '1.29'})
Пример #14
0
    def test_convert_decimal(self):
        class Collaborator:
            data = decimal.Decimal('1.29')

        self.assertEqual(Converter.serialize(Collaborator()), {'data': '1.29'})