コード例 #1
0
 def test_two_redundant_fields(self):
     data = {'node': 'abcd', 'xxx': 6, 'yyy': 11.1}
     try:
         json_incoming.convert(schema3, data, ROOT)
         self.assertTrue(False)
     except ValueError as ex:
         self.assertEqual('root: Unrecognized fields: xxx, yyy', ex.message)
コード例 #2
0
 def test_redundant_field(self):
     data = {'node': 'abcd', 'xxx': 6}
     try:
         json_incoming.convert(schema3, data)
         self.assertTrue(False)
     except ValueError as ex:
         self.assertEqual('Unrecognized field: xxx', ex.message)
コード例 #3
0
 def test_two_filters(self):
     data = {'node': 'abcde'}
     try:
         json_incoming.convert(schema3, data)
         self.assertTrue(False)
     except ValueError as ex:
         self.assertEqual('node: String is too long', ex.message)
コード例 #4
0
 def test_null(self):
     data = {'node': None}
     try:
         json_incoming.convert(schema3, data)
         self.assertTrue(False)
     except ValueError as ex:
         self.assertEqual('node: Cannot be null', ex.message)
コード例 #5
0
 def test_array_of_object(self):
     data = [{'arrayOfObject': 'def'}, {'arrayOfObject': 'abcde'}]
     try:
         json_incoming.convert(schema4, data)
         self.assertTrue(False)
     except ValueError as ex:
         self.assertEqual('1.arrayOfObject: String is too long', ex.message)
コード例 #6
0
 def test_not_number_nor_string(self):
     data = {'amount': True}
     try:
         json_incoming.convert(schema7, data, ROOT)
         self.assertTrue(False)
     except ValueError as ex:
         self.assertEqual('root.amount: Invalid value', ex.message)
コード例 #7
0
 def test_object_in_array_field(self):
     data = {'node': '5', 'user': {'abc': 123}}
     try:
         json_incoming.convert(schema1, data)
         self.assertTrue(False)
     except TypeError as ex:
         self.assertEqual('user: Should be an array', ex.message)
コード例 #8
0
 def test_integer_in_string_map(self):
     data = {'name': 1.99, 'spec': {'def': 1, 'size': 'xyz'}}
     try:
         json_incoming.convert(schema6, data)
         self.assertTrue(False)
     except TypeError as ex:
         self.assertEqual('spec.def: Should be a string', ex.message)
コード例 #9
0
 def test_string_in_string_map_field(self):
     data = {'name': 1.99, 'spec': 'def'}
     try:
         json_incoming.convert(schema6, data)
         self.assertTrue(False)
     except TypeError as ex:
         self.assertEqual('spec: Should be an object', ex.message)
コード例 #10
0
 def test_type_mismatch(self):
     data = {'credential': 3.5}
     try:
         json_incoming.convert(schema8, data)
         self.assertTrue(False)
     except ValueError as ex:
         self.assertEqual('credential: Invalid value', ex.message)
コード例 #11
0
 def test_array_element_too_long(self):
     data = {'event': [{'name': 'abcd', 'alarm': True}, {'name': 'def', 'alarm': False}]}
     try:
         json_incoming.convert(schema1, data)
         self.assertTrue(False)
     except ValueError as ex:
         self.assertEqual('event.0.name: String is too long', ex.message)
コード例 #12
0
 def test_too_big(self):
     data = {'tag': {'name': 'abc', 'level': 4}}
     try:
         json_incoming.convert(schema1, data)
         self.assertTrue(False)
     except ValueError as ex:
         self.assertEqual('tag.level: Value is too large', ex.message)
コード例 #13
0
 def test_string_in_object_field(self):
     data = {'tag': 'abc'}
     try:
         json_incoming.convert(schema1, data)
         self.assertTrue(False)
     except TypeError as ex:
         self.assertEqual('tag: Should be an object', ex.message)
コード例 #14
0
 def test_invalid(self):
     data = {'userId': 5, 'passphrase': 'abcdef'}
     try:
         json_incoming.convert(schema9, data)
         self.assertTrue(False)
     except ValueError as ex:
         self.assertEqual('Invalid value', ex.message)
コード例 #15
0
 def test_array_element_type_mismatch(self):
     data = {'user': ['abc', 5, 'xxxxxxx']}
     try:
         json_incoming.convert(schema1, data)
         self.assertTrue(False)
     except TypeError as ex:
         self.assertEqual('user.1: Should be a string', ex.message)
コード例 #16
0
 def test_empty_array(self):
     data = {'node': 'abc'}
     try:
         json_incoming.convert(schema5, data)
         self.assertTrue(False)
     except ValueError as ex:
         self.assertEqual('event_id: Cannot be null', ex.message)
コード例 #17
0
 def test_integer_in_string_field(self):
     data = {'node': 5}
     try:
         json_incoming.convert(schema1, data)
         self.assertTrue(False)
     except TypeError as ex:
         self.assertEqual('node: Should be a string', ex.message)
コード例 #18
0
 def test_validation_failed(self):
     data = {'credential': {'userId': 5, 'password': '******'}}
     try:
         json_incoming.convert(schema8, data)
         self.assertTrue(False)
     except ValueError as ex:
         self.assertEqual('credential: Invalid value', ex.message)
コード例 #19
0
 def test_return_array(self):
     data = {'user': ['abc', 'def', 'xxxxxx']}
     expected = {'node': None,
                 'user': ['abc', 'def', 'xxxxxx'],
                 'tag': None,
                 'event': None}
     result = json_incoming.convert(schema1, data)
     self.assertEqual(expected, result)
コード例 #20
0
 def test_return_array_of_object(self):
     data = {'event': [{'name': 'abc'}, {'alarm': False}]}
     expected = {'node': None,
                 'user': None,
                 'tag': None,
                 'event': [{'name': 'abc', 'alarm': None}, {'name': None, 'alarm': False}]}
     result = json_incoming.convert(schema1, data)
     self.assertEqual(expected, result)
コード例 #21
0
 def test_return_object(self):
     data = {'tag': {'name': 'abc'}}
     expected = {'node': None,
                 'user': None,
                 'tag': {'name': 'abc', 'level': None},
                 'event': None}
     result = json_incoming.convert(schema1, data)
     self.assertEqual(expected, result)
コード例 #22
0
 def test_object2(self):
     data = {'email': 'abc', 'passphrase': 'abcdef'}
     result = json_incoming.convert(schema9, data)
     self.assertEqual(data, result)
コード例 #23
0
 def test_string(self):
     data = {'credential': 'xyc'}
     result = json_incoming.convert(schema8, data)
     self.assertEqual(data, result)
コード例 #24
0
 def test_none_inside(self):
     data = {'node': 'abc', 'user': ['def', None, 'f'], 'tag': {'name': None, 'level': 2}}
     result = json_incoming.convert(schema2, data)
     self.assertEqual(data, result)
コード例 #25
0
 def test_number(self):
     data = {'amount': 1.11}
     result = json_incoming.convert(schema7, data)
     expected = {'amount': '1.11'}
     self.assertEqual(expected, result)
コード例 #26
0
 def test_string(self):
     data = {'amount': '1.11'}
     result = json_incoming.convert(schema7, data)
     self.assertEqual(data, result)
コード例 #27
0
 def test_object1(self):
     data = {'userId': 5, 'password': '******'}
     result = json_incoming.convert(schema9, data)
     self.assertEqual(data, result)
コード例 #28
0
 def test_return_number_and_string_map(self):
     data = {'name': 1.99, 'spec': {'def': "1", 'size': 'xyz'}}
     result = json_incoming.convert(schema6, data)
     self.assertEqual(data, result)
コード例 #29
0
 def test_all_none(self):
     data = {'node': None, 'user': None, 'tag': None}
     result = json_incoming.convert(schema2, data, ROOT)
     self.assertEqual(data, result)
コード例 #30
0
 def test_return_array(self):
     data = [{'arrayOfObject': 'def'}, {'arrayOfObject': 'abce'}]
     result = json_incoming.convert(schema4, data)
     self.assertEqual(data, result)