コード例 #1
0
    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)
コード例 #2
0
        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)