def test_get_attribute_map(self): model = """<?xml version='1.0' encoding='utf8'?> <model xmlns="http://namespaces.plone.org/supermodel/schema"> <schema> <field name="firstname" type="zope.schema.TextLine"> <title>First Name</title> </field> <field name="lastname" type="zope.schema.TextLine"> <title>Last Name</title> </field> </schema> </model>""" portal_type = self.new_temporary_type(model_source=model).id self.assertRaises( ContentImportError, get_attribute_map, self.request, [], portal_type ) try: get_attribute_map( self.request, ['firstname', 'First Name'], portal_type ) except ContentImportError, e: self.assertIn('column is specified more than once', e.message)
self.assertRaises( ContentImportError, get_attribute_map, self.request, [], portal_type ) try: get_attribute_map( self.request, ['firstname', 'First Name'], portal_type ) except ContentImportError, e: self.assertIn('column is specified more than once', e.message) else: assert False, "The exception should have occured." attrmap = get_attribute_map( self.request, ['firstname', 'lastname'], portal_type ) self.assertEqual(len(attrmap), 2) self.assertEqual(attrmap['firstname'].__name__, 'firstname') self.assertEqual(attrmap['lastname'].__name__, 'lastname') attrmap = get_attribute_map( self.request, ['First Name', 'Last Name'], portal_type ) self.assertEqual(len(attrmap), 2) self.assertEqual(attrmap['First Name'].__name__, 'firstname') self.assertEqual(attrmap['Last Name'].__name__, 'lastname') attrmap = get_attribute_map(self.request, ['foo', 'bar'], portal_type)