Exemplo n.º 1
0
    def testEncode(self):
        transformer = CreateEncoderHandler()
        ioc.initialize(transformer)

        resolve = Resolve(transformer.encoderFor(typeFor(ModelId)))
        render = RenderToObject()
        context = dict(render=render,
                       converter=ConverterPath(),
                       converterId=ConverterPath(),
                       normalizer=ConverterPath())

        model = ModelId()
        model.Id = 12
        render.obj = None
        resolve.request(value=model, **context).doAll()
        self.assertEqual({'Id': '12'}, render.obj)

        model.ModelKey = 'The key'
        render.obj = None
        resolve.request(value=model, **context).doAll()
        self.assertEqual({
            'Id': '12',
            'ModelKey': {
                'Key': 'The key'
            }
        }, render.obj)

        model.Name = 'Uau Name'
        model.Flags = ['1', '2', '3']
        render.obj = None
        resolve.request(value=model, **context).doAll()
        self.assertEqual(
            {
                'ModelKey': {
                    'Key': 'The key'
                },
                'Flags': {
                    'Flags': ['1', '2', '3']
                },
                'Id': '12',
                'Name': 'Uau Name'
            }, render.obj)

        transformer = CreateEncoderHandler()
        ioc.initialize(transformer)

        resolve = Resolve(transformer.encoderFor(typeFor(List(ModelId))))

        render.obj = None
        resolve.request(value=[model], **context).doAll()

        self.assertEqual(
            {
                'ModelIdList': [{
                    'ModelKey': {
                        'Key': 'The key'
                    },
                    'Flags': {
                        'Flags': ['1', '2', '3']
                    },
                    'Id': '12',
                    'Name': 'Uau Name'
                }]
            }, render.obj)

        render.obj = None
        resolve.request(value=[model, model, model], **context)
        resolve.do()
        self.assertEqual({'ModelIdList': []}, render.obj)
        resolve.do()
        self.assertEqual(
            {
                'ModelIdList': [{
                    'ModelKey': {
                        'Key': 'The key'
                    },
                    'Flags': {
                        'Flags': ['1', '2', '3']
                    },
                    'Id': '12',
                    'Name': 'Uau Name'
                }]
            }, render.obj)
        resolve.do()
        self.assertEqual(
            {
                'ModelIdList': [{
                    'ModelKey': {
                        'Key': 'The key'
                    },
                    'Flags': {
                        'Flags': ['1', '2', '3']
                    },
                    'Id': '12',
                    'Name': 'Uau Name'
                }, {
                    'ModelKey': {
                        'Key': 'The key'
                    },
                    'Flags': {
                        'Flags': ['1', '2', '3']
                    },
                    'Id': '12',
                    'Name': 'Uau Name'
                }]
            }, render.obj)
        resolve.do()
        self.assertEqual(
            {
                'ModelIdList': [{
                    'ModelKey': {
                        'Key': 'The key'
                    },
                    'Flags': {
                        'Flags': ['1', '2', '3']
                    },
                    'Id': '12',
                    'Name': 'Uau Name'
                }, {
                    'ModelKey': {
                        'Key': 'The key'
                    },
                    'Flags': {
                        'Flags': ['1', '2', '3']
                    },
                    'Id': '12',
                    'Name': 'Uau Name'
                }, {
                    'ModelKey': {
                        'Key': 'The key'
                    },
                    'Flags': {
                        'Flags': ['1', '2', '3']
                    },
                    'Id': '12',
                    'Name': 'Uau Name'
                }]
            }, render.obj)
        resolve.do()
        self.assertFalse(resolve.has())
Exemplo n.º 2
0
    def testEncode(self):
        transformer = CreateEncoderHandler()
        ioc.initialize(transformer)

        resolve = Resolve(transformer.encoderFor(typeFor(ModelId)))
        render = RenderToObject()
        context = dict(render=render, converter=ConverterPath(), converterId=ConverterPath(), normalizer=ConverterPath())

        model = ModelId()
        model.Id = 12
        render.obj = None
        resolve.request(value=model, **context).doAll()
        self.assertEqual({'Id':'12'}, render.obj)

        model.ModelKey = 'The key'
        render.obj = None
        resolve.request(value=model, **context).doAll()
        self.assertEqual({'Id':'12', 'ModelKey': {'Key': 'The key'}}, render.obj)

        model.Name = 'Uau Name'
        model.Flags = ['1', '2', '3']
        render.obj = None
        resolve.request(value=model, **context).doAll()
        self.assertEqual({'ModelKey': {'Key': 'The key'}, 'Flags': {'Flags': ['1', '2', '3']}, 'Id': '12',
                          'Name': 'Uau Name'}, render.obj)

        transformer = CreateEncoderHandler()
        ioc.initialize(transformer)

        resolve = Resolve(transformer.encoderFor(typeFor(List(ModelId))))

        render.obj = None
        resolve.request(value=[model], **context).doAll()

        self.assertEqual({'ModelIdList':
                [{'ModelKey': {'Key': 'The key'}, 'Flags': {'Flags': ['1', '2', '3']}, 'Id': '12', 'Name': 'Uau Name'}]},
                render.obj)

        render.obj = None
        resolve.request(value=[model, model, model], **context)
        resolve.do()
        self.assertEqual({'ModelIdList': []}, render.obj)
        resolve.do()
        self.assertEqual({'ModelIdList':
                  [
                   {'ModelKey': {'Key': 'The key'}, 'Flags': {'Flags': ['1', '2', '3']}, 'Id': '12', 'Name': 'Uau Name'}
                   ]}, render.obj)
        resolve.do()
        self.assertEqual({'ModelIdList':
                  [
                   {'ModelKey': {'Key': 'The key'}, 'Flags': {'Flags': ['1', '2', '3']}, 'Id': '12', 'Name': 'Uau Name'},
                   {'ModelKey': {'Key': 'The key'}, 'Flags': {'Flags': ['1', '2', '3']}, 'Id': '12', 'Name': 'Uau Name'}
                   ]}, render.obj)
        resolve.do()
        self.assertEqual({'ModelIdList':
                  [
                   {'ModelKey': {'Key': 'The key'}, 'Flags': {'Flags': ['1', '2', '3']}, 'Id': '12', 'Name': 'Uau Name'},
                   {'ModelKey': {'Key': 'The key'}, 'Flags': {'Flags': ['1', '2', '3']}, 'Id': '12', 'Name': 'Uau Name'},
                   {'ModelKey': {'Key': 'The key'}, 'Flags': {'Flags': ['1', '2', '3']}, 'Id': '12', 'Name': 'Uau Name'}
                   ]}, render.obj)
        resolve.do()
        self.assertFalse(resolve.has())