def test_import_people_schema_validation(self): model = loadString("""<?xml version='1.0' encoding='utf8'?> <model xmlns="http://namespaces.plone.org/supermodel/schema" xmlns:people="http://namespaces.plone.org/supermodel/people"> <schema> <people:title> <people:item>name</people:item> </people:title> <field name="name" type="zope.schema.TextLine"> <title>Name</title> </field> <field name="age" type="zope.schema.Int" required="false"> <title>Age</title> <required>False</required> </field> </schema> </model>""") try: validate_attribute_values(model.schema, {'age': 1}) except ContentImportError, e: self.assertIs(type(e), ContentImportError) self.assertEqual(e.colname, u'Name') self.assertEqual('Required column is missing', e.message)
<required>False</required> </field> </schema> </model>""") try: validate_attribute_values(model.schema, {'age': 1}) except ContentImportError, e: self.assertIs(type(e), ContentImportError) self.assertEqual(e.colname, u'Name') self.assertEqual('Required column is missing', e.message) else: assert False, "The exception should have occurred." try: validate_attribute_values(model.schema, {'age': None}) except ContentImportError, e: self.assertIs(type(e), ContentImportError) self.assertEqual(e.colname, u'Name') self.assertEqual('Required column is missing', e.message) else: assert False, "The exception should have occurred." validate_attribute_values(model.schema, {'name': u'one', 'age': 1}) def test_get_attribute_values(self): casts = [ (schema.Text, u'Test', u'Test'), (schema.Int, u'1', 1), (schema.Bool, u'True', True), (schema.Bool, u'False', False),