コード例 #1
0
 def test_empty(self):
     data = {
         'integer': 42,
         'string': 'a string',
         'boolean': True,
     }
     result = mask.apply(data, '{}')
     self.assertEqual(result, {})
コード例 #2
0
 def test_star_only(self):
     data = {
         'integer': 42,
         'string': 'a string',
         'boolean': True,
     }
     result = mask.apply(data, '*')
     self.assertEqual(result, data)
コード例 #3
0
 def test_with_ordered_dict(self):
     data = OrderedDict({
         'integer': 42,
         'string': 'a string',
         'boolean': True,
     })
     result = mask.apply(data, '{integer, string}')
     self.assertEqual(result, {'integer': 42, 'string': 'a string'})
コード例 #4
0
 def test_multiple_fields(self):
     data = {
         'integer': 42,
         'string': 'a string',
         'boolean': True,
     }
     result = mask.apply(data, '{integer, string}')
     self.assertEqual(result, {'integer': 42, 'string': 'a string'})
コード例 #5
0
 def test_nested_api_fields(self):
     result = mask.apply(family_fields, 'father{name},children{age}')
     self.assertEqual(set(result.keys()), set(['father', 'children']))
     self.assertIsInstance(result['father'], fields.Nested)
     self.assertEqual(set(result['father'].nested.keys()), set(['name']))
     self.assertIsInstance(result['children'], fields.List)
     self.assertIsInstance(result['children'].container, fields.Nested)
     self.assertEqual(set(result['children'].container.nested.keys()), set(['age']))
コード例 #6
0
 def test_with_ordered_dict(self):
     data = OrderedDict({
         'integer': 42,
         'string': 'a string',
         'boolean': True,
     })
     result = mask.apply(data, '{integer, string}')
     self.assertEqual(result, {'integer': 42, 'string': 'a string'})
コード例 #7
0
 def test_star_only(self):
     data = {
         'integer': 42,
         'string': 'a string',
         'boolean': True,
     }
     result = mask.apply(data, '*')
     self.assertEqual(result, data)
コード例 #8
0
 def test_multiple_fields(self):
     data = {
         'integer': 42,
         'string': 'a string',
         'boolean': True,
     }
     result = mask.apply(data, '{integer, string}')
     self.assertEqual(result, {'integer': 42, 'string': 'a string'})
コード例 #9
0
 def test_empty(self):
     data = {
         'integer': 42,
         'string': 'a string',
         'boolean': True,
     }
     result = mask.apply(data, '{}')
     self.assertEqual(result, {})
コード例 #10
0
 def test_nested_api_fields(self):
     result = mask.apply(family_fields, 'father{name},children{age}')
     self.assertEqual(set(result.keys()), set(['father', 'children']))
     self.assertIsInstance(result['father'], fields.Nested)
     self.assertEqual(set(result['father'].nested.keys()), set(['name']))
     self.assertIsInstance(result['children'], fields.List)
     self.assertIsInstance(result['children'].container, fields.Nested)
     self.assertEqual(set(result['children'].container.nested.keys()),
                      set(['age']))
コード例 #11
0
 def test_nested_fields(self):
     data = {
         'nested': {
             'integer': 42,
             'string': 'a string',
             'boolean': True,
         }
     }
     result = mask.apply(data, '{nested{integer}}')
     self.assertEqual(result, {'nested': {'integer': 42}})
コード例 #12
0
 def test_nested_fields(self):
     data = {
         'nested': {
             'integer': 42,
             'string': 'a string',
             'boolean': True,
         }
     }
     result = mask.apply(data, '{nested{integer}}')
     self.assertEqual(result, {'nested': {'integer': 42}})
コード例 #13
0
 def test_nested_with_start(self):
     data = {
         'nested': {
             'integer': 42,
             'string': 'a string',
             'boolean': True,
         },
         'other': 'value',
     }
     result = mask.apply(data, '{nested{integer},*}')
     self.assertEqual(result, {'nested': {'integer': 42}, 'other': 'value'})
コード例 #14
0
 def test_nested_with_start(self):
     data = {
         'nested': {
             'integer': 42,
             'string': 'a string',
             'boolean': True,
         },
         'other': 'value',
     }
     result = mask.apply(data, '{nested{integer},*}')
     self.assertEqual(result, {'nested': {'integer': 42}, 'other': 'value'})
コード例 #15
0
 def test_nested_list_fields(self):
     data = {
         'list': [{
             'integer': 42,
             'string': 'a string',
         }, {
             'integer': 404,
             'string': 'another string',
         }]
     }
     result = mask.apply(data, '{list{integer}}')
     self.assertEqual(result, {'list': [{'integer': 42}, {'integer': 404}]})
コード例 #16
0
 def test_nested_list_fields(self):
     data = {
         'list': [{
             'integer': 42,
             'string': 'a string',
         }, {
             'integer': 404,
             'string': 'another string',
         }]
     }
     result = mask.apply(data, '{list{integer}}')
     self.assertEqual(result, {'list': [{'integer': 42}, {'integer': 404}]})
コード例 #17
0
 def test_list(self):
     data = [{
         'integer': 42,
         'string': 'a string',
         'boolean': True,
     }, {
         'integer': 404,
         'string': 'another string',
         'boolean': False,
     }]
     result = mask.apply(data, '{integer, string}')
     self.assertEqual(result, [
         {'integer': 42, 'string': 'a string'},
         {'integer': 404, 'string': 'another string'}
     ])
コード例 #18
0
 def test_list(self):
     data = [{
         'integer': 42,
         'string': 'a string',
         'boolean': True,
     }, {
         'integer': 404,
         'string': 'another string',
         'boolean': False,
     }]
     result = mask.apply(data, '{integer, string}')
     self.assertEqual(result, [{
         'integer': 42,
         'string': 'a string'
     }, {
         'integer': 404,
         'string': 'another string'
     }])
コード例 #19
0
 def test_nested_fields_when_none(self):
     data = {'nested': None}
     result = mask.apply(data, '{nested{integer}}')
     self.assertEqual(result, {'nested': None})
コード例 #20
0
 def test_nested_fields_when_none(self):
     data = {'nested': None}
     result = mask.apply(data, '{nested{integer}}')
     self.assertEqual(result, {'nested': None})
コード例 #21
0
 def test_missing_nested_field_skipped(self):
     result = mask.apply({}, 'nested{integer}', skip=True)
     self.assertEqual(result, {})
コード例 #22
0
 def test_missing_nested_field_skipped(self):
     result = mask.apply({}, 'nested{integer}', skip=True)
     self.assertEqual(result, {})
コード例 #23
0
 def test_missing_field_none_by_default(self):
     result = mask.apply({}, '{integer}')
     self.assertEqual(result, {'integer': None})
コード例 #24
0
 def test_missing_field_none_by_default(self):
     result = mask.apply({}, '{integer}')
     self.assertEqual(result, {'integer': None})