Esempio n. 1
0
 def test_nested_mapping_with_lists(self):
     mapping = {
         'a_field': S('a', 'b'),
         'a': [{
             'nested': {
                 'field': S('f1', 'f2'),
             },
         }],
     }
     source = {
         'a': {
             'b': 'ok'
         },
         'f1': {
             'f2': 'hi'
         },
     }
     expected = {
         'a_field': 'ok',
         'a': [{
             'nested': {
                 'field': 'hi'
             }
         }],
     }
     self.assertDictEqual(bend(mapping, source), expected)
Esempio n. 2
0
 def test_flat_mapping(self):
     mapping = {
         'a_field': S('a', 'b'),
         'another_field': K('wow'),
     }
     source = {'a': {'b': 'ok'}}
     expected = {
         'a_field': 'ok',
         'another_field': 'wow',
     }
     self.assertDictEqual(bend(mapping, source), expected)
Esempio n. 3
0
 def test_flat_mapping(self):
     mapping = {
         'a_field': S('a', 'b'),
         'another_field': K('wow'),
     }
     source = {'a': {'b': 'ok'}}
     expected = {
         'a_field': 'ok',
         'another_field': 'wow',
     }
     self.assertDictEqual(bend(mapping, source), expected)
Esempio n. 4
0
 def test_nested_mapping_with_lists(self):
     mapping = {
         'a_field': S('a', 'b'),
         'a': [{
             'nested': {
                 'field': S('f1', 'f2'),
             },
         }],
     }
     source = {
         'a': {'b': 'ok'},
         'f1': {'f2': 'hi'},
     }
     expected = {
         'a_field': 'ok',
         'a': [{'nested': {'field': 'hi'}}],
     }
     self.assertDictEqual(bend(mapping, source), expected)
Esempio n. 5
0
 def raw_execute(self, source):
     transport = Transport.from_source(source)
     context = self._context or transport.context
     # ListOp.execute assumes the func is saved on self._func
     self._func = lambda v: bend(self._mapping, v, context)
     return Transport(self.execute(transport.value), transport.context)
Esempio n. 6
0
 def test_context_deep(self):
     mapping = {'a': [{'a': Context() >> S('b')}]}
     res = bend(mapping, {}, context={'b': 23})
     self.assertDictEqual(res, {'a': [{'a': 23}]})
Esempio n. 7
0
 def test_context_shallow(self):
     mapping = {'a': Context() >> S('b')}
     res = bend(mapping, {}, context={'b': 23})
     self.assertDictEqual(res, {'a': 23})
Esempio n. 8
0
 def test_constants_without_K(self):
     mapping = {'a': 'a const value', 'b': 123}
     self.assertDictEqual(bend(mapping, {}), {
         'a': 'a const value',
         'b': 123
     })
Esempio n. 9
0
 def test_empty_mapping(self):
     self.assertDictEqual(bend({}, {'a': 1}), {})
Esempio n. 10
0
 def test_op_with_context(self):
     mapping = {'res': (Context() >> S('b')) - S('a')}
     in_ = {'a': 23}
     context = {'b': 27}
     res = bend(mapping, in_, context=context)
     self.assertEqual(res, {'res': 4})
Esempio n. 11
0
 def test_list_with_non_dict_elements(self):
     mapping = {'k': ['foo1', S('bar1')]}
     source = {'bar1': 'val 1'}
     expected = {'k': ['foo1', 'val 1']}
     self.assertDictEqual(bend(mapping, source), expected)
Esempio n. 12
0
 def test_op_with_context(self):
     mapping = {'res': (Context() >> S('b')) - S('a')}
     in_ = {'a': 23}
     context = {'b': 27}
     res = bend(mapping, in_, context=context)
     self.assertEqual(res, {'res': 4})
Esempio n. 13
0
 def test_empty_mapping(self):
     self.assertDictEqual(bend({}, {'a': 1}), {})
Esempio n. 14
0
 def test_context_deep(self):
     mapping = {'a': [{'a': Context() >> S('b')}]}
     res = bend(mapping, {}, context={'b': 23})
     self.assertDictEqual(res, {'a': [{'a': 23}]})
Esempio n. 15
0
 def test_context_shallow(self):
     mapping = {'a': Context() >> S('b')}
     res = bend(mapping, {}, context={'b': 23})
     self.assertDictEqual(res, {'a': 23})
Esempio n. 16
0
 def test_constants_without_K(self):
     mapping = {'a': 'a const value', 'b': 123}
     self.assertDictEqual(bend(mapping, {}),
                          {'a': 'a const value', 'b': 123})