def test_schema_raises_on_missing_required_attributes(self): schema = self.schema_process()['process'] schema['schema_details'].pop('title') with self.assertRaisesRegex(ValueError, 'mandatory attributes: title'): cleaner.schema_cleanup(schema) schema = self.schema_process()['process'] schema['field_details'].pop('description') with self.assertRaisesRegex(ValueError, 'mandatory attributes: description'): cleaner.schema_cleanup(schema)
def test_schema_simple_cleanup(self): my_schema = { 'schema_details': { 'title': "My Schema\n", 'type': "group\n ", 'group': 2, 'root': False }, 'field_details': { 'name': 'my_schema', 'short': " a really short description\n\n", 'description': "\ta long\n\nmultiline description ", } } cleaner.schema_cleanup(my_schema) self.assertEqual(my_schema['schema_details']['title'], 'My Schema') self.assertEqual(my_schema['field_details']['type'], 'group') self.assertEqual(my_schema['field_details']['short'], 'a really short description') self.assertEqual(my_schema['field_details']['description'], "a long\n\nmultiline description")
def test_schema_cleanup_setting_defaults(self): my_schema = { 'schema_details': { 'title': 'My Schema', 'reusable': { 'top_level': True, 'expected': ['foo'] } }, 'field_details': { 'name': 'my_schema', 'description': "a nice description ", } } cleaner.schema_cleanup(my_schema) self.assertEqual(my_schema['schema_details']['root'], False) self.assertEqual(my_schema['schema_details']['group'], 2) self.assertEqual(my_schema['schema_details']['prefix'], 'my_schema.') self.assertEqual(my_schema['schema_details']['reusable']['order'], 2) self.assertEqual(my_schema['field_details']['type'], 'group') self.assertEqual(my_schema['field_details']['short'], 'a nice description')