entities/test/unittest_base.py
branchstable
changeset 6340 470d8e828fda
parent 5578 6b9fee0c5c42
child 7212 040d3597444f
equal deleted inserted replaced
6339:bdc3dc94d744 6340:470d8e828fda
    42 
    42 
    43     def test_creator(self):
    43     def test_creator(self):
    44         self.login(u'member')
    44         self.login(u'member')
    45         entity = self.request().create_entity('Bookmark', title=u"hello", path=u'project/cubicweb')
    45         entity = self.request().create_entity('Bookmark', title=u"hello", path=u'project/cubicweb')
    46         self.commit()
    46         self.commit()
    47         self.assertEquals(entity.creator.eid, self.member.eid)
    47         self.assertEqual(entity.creator.eid, self.member.eid)
    48         self.assertEquals(entity.dc_creator(), u'member')
    48         self.assertEqual(entity.dc_creator(), u'member')
    49 
    49 
    50     def test_type(self):
    50     def test_type(self):
    51         self.assertEquals(self.member.dc_type(), 'cwuser')
    51         self.assertEqual(self.member.dc_type(), 'cwuser')
    52 
    52 
    53     def test_entity_meta_attributes(self):
    53     def test_entity_meta_attributes(self):
    54         # XXX move to yams
    54         # XXX move to yams
    55         self.assertEquals(self.schema['CWUser'].meta_attributes(), {})
    55         self.assertEqual(self.schema['CWUser'].meta_attributes(), {})
    56         self.assertEquals(dict((str(k), v) for k, v in self.schema['State'].meta_attributes().iteritems()),
    56         self.assertEqual(dict((str(k), v) for k, v in self.schema['State'].meta_attributes().iteritems()),
    57                           {'description_format': ('format', 'description')})
    57                           {'description_format': ('format', 'description')})
    58 
    58 
    59 
    59 
    60 class EmailAddressTC(BaseEntityTC):
    60 class EmailAddressTC(BaseEntityTC):
    61     def test_canonical_form(self):
    61     def test_canonical_form(self):
    62         email1 = self.execute('INSERT EmailAddress X: X address "maarten.ter.huurne@philips.com"').get_entity(0, 0)
    62         email1 = self.execute('INSERT EmailAddress X: X address "maarten.ter.huurne@philips.com"').get_entity(0, 0)
    63         email2 = self.execute('INSERT EmailAddress X: X address "maarten@philips.com"').get_entity(0, 0)
    63         email2 = self.execute('INSERT EmailAddress X: X address "maarten@philips.com"').get_entity(0, 0)
    64         email3 = self.execute('INSERT EmailAddress X: X address "toto@logilab.fr"').get_entity(0, 0)
    64         email3 = self.execute('INSERT EmailAddress X: X address "toto@logilab.fr"').get_entity(0, 0)
    65         email1.set_relations(prefered_form=email2)
    65         email1.set_relations(prefered_form=email2)
    66         self.assertEquals(email1.prefered.eid, email2.eid)
    66         self.assertEqual(email1.prefered.eid, email2.eid)
    67         self.assertEquals(email2.prefered.eid, email2.eid)
    67         self.assertEqual(email2.prefered.eid, email2.eid)
    68         self.assertEquals(email3.prefered.eid, email3.eid)
    68         self.assertEqual(email3.prefered.eid, email3.eid)
    69 
    69 
    70     def test_mangling(self):
    70     def test_mangling(self):
    71         email = self.execute('INSERT EmailAddress X: X address "maarten.ter.huurne@philips.com"').get_entity(0, 0)
    71         email = self.execute('INSERT EmailAddress X: X address "maarten.ter.huurne@philips.com"').get_entity(0, 0)
    72         self.assertEquals(email.display_address(), 'maarten.ter.huurne@philips.com')
    72         self.assertEqual(email.display_address(), 'maarten.ter.huurne@philips.com')
    73         self.assertEquals(email.printable_value('address'), 'maarten.ter.huurne@philips.com')
    73         self.assertEqual(email.printable_value('address'), 'maarten.ter.huurne@philips.com')
    74         self.vreg.config.global_set_option('mangle-emails', True)
    74         self.vreg.config.global_set_option('mangle-emails', True)
    75         self.assertEquals(email.display_address(), 'maarten.ter.huurne at philips dot com')
    75         self.assertEqual(email.display_address(), 'maarten.ter.huurne at philips dot com')
    76         self.assertEquals(email.printable_value('address'), 'maarten.ter.huurne at philips dot com')
    76         self.assertEqual(email.printable_value('address'), 'maarten.ter.huurne at philips dot com')
    77         email = self.execute('INSERT EmailAddress X: X address "syt"').get_entity(0, 0)
    77         email = self.execute('INSERT EmailAddress X: X address "syt"').get_entity(0, 0)
    78         self.assertEquals(email.display_address(), 'syt')
    78         self.assertEqual(email.display_address(), 'syt')
    79         self.assertEquals(email.printable_value('address'), 'syt')
    79         self.assertEqual(email.printable_value('address'), 'syt')
    80 
    80 
    81 
    81 
    82 class CWUserTC(BaseEntityTC):
    82 class CWUserTC(BaseEntityTC):
    83 
    83 
    84     def test_complete(self):
    84     def test_complete(self):
    92         self.failUnless(e.matching_groups(('xyz', 'managers')))
    92         self.failUnless(e.matching_groups(('xyz', 'managers')))
    93         self.failIf(e.matching_groups(('xyz', 'abcd')))
    93         self.failIf(e.matching_groups(('xyz', 'abcd')))
    94 
    94 
    95     def test_dc_title_and_name(self):
    95     def test_dc_title_and_name(self):
    96         e = self.execute('CWUser U WHERE U login "member"').get_entity(0, 0)
    96         e = self.execute('CWUser U WHERE U login "member"').get_entity(0, 0)
    97         self.assertEquals(e.dc_title(), 'member')
    97         self.assertEqual(e.dc_title(), 'member')
    98         self.assertEquals(e.name(), 'member')
    98         self.assertEqual(e.name(), 'member')
    99         e.set_attributes(firstname=u'bouah')
    99         e.set_attributes(firstname=u'bouah')
   100         self.assertEquals(e.dc_title(), 'member')
   100         self.assertEqual(e.dc_title(), 'member')
   101         self.assertEquals(e.name(), u'bouah')
   101         self.assertEqual(e.name(), u'bouah')
   102         e.set_attributes(surname=u'lôt')
   102         e.set_attributes(surname=u'lôt')
   103         self.assertEquals(e.dc_title(), 'member')
   103         self.assertEqual(e.dc_title(), 'member')
   104         self.assertEquals(e.name(), u'bouah lôt')
   104         self.assertEqual(e.name(), u'bouah lôt')
   105 
   105 
   106     def test_allowed_massmail_keys(self):
   106     def test_allowed_massmail_keys(self):
   107         e = self.execute('CWUser U WHERE U login "member"').get_entity(0, 0)
   107         e = self.execute('CWUser U WHERE U login "member"').get_entity(0, 0)
   108         # Bytes/Password attributes should be omited
   108         # Bytes/Password attributes should be omited
   109         self.assertEquals(e.cw_adapt_to('IEmailable').allowed_massmail_keys(),
   109         self.assertEqual(e.cw_adapt_to('IEmailable').allowed_massmail_keys(),
   110                           set(('surname', 'firstname', 'login', 'last_login_time',
   110                           set(('surname', 'firstname', 'login', 'last_login_time',
   111                                'creation_date', 'modification_date', 'cwuri', 'eid'))
   111                                'creation_date', 'modification_date', 'cwuri', 'eid'))
   112                           )
   112                           )
   113 
   113 
   114 
   114 
   142 
   142 
   143     def test_etype_class_selection_and_specialization(self):
   143     def test_etype_class_selection_and_specialization(self):
   144         # no specific class for Subdivisions, the default one should be selected
   144         # no specific class for Subdivisions, the default one should be selected
   145         eclass = self.select_eclass('SubDivision')
   145         eclass = self.select_eclass('SubDivision')
   146         self.failUnless(eclass.__autogenerated__)
   146         self.failUnless(eclass.__autogenerated__)
   147         #self.assertEquals(eclass.__bases__, (AnyEntity,))
   147         #self.assertEqual(eclass.__bases__, (AnyEntity,))
   148         # build class from most generic to most specific and make
   148         # build class from most generic to most specific and make
   149         # sure the most specific is always selected
   149         # sure the most specific is always selected
   150         self.vreg._loadedmods[__name__] = {}
   150         self.vreg._loadedmods[__name__] = {}
   151         for etype in ('Company', 'Division', 'SubDivision'):
   151         for etype in ('Company', 'Division', 'SubDivision'):
   152             class Foo(AnyEntity):
   152             class Foo(AnyEntity):
   154             self.vreg.register(Foo)
   154             self.vreg.register(Foo)
   155             eclass = self.select_eclass('SubDivision')
   155             eclass = self.select_eclass('SubDivision')
   156             self.failUnless(eclass.__autogenerated__)
   156             self.failUnless(eclass.__autogenerated__)
   157             self.failIf(eclass is Foo)
   157             self.failIf(eclass is Foo)
   158             if etype == 'SubDivision':
   158             if etype == 'SubDivision':
   159                 self.assertEquals(eclass.__bases__, (Foo,))
   159                 self.assertEqual(eclass.__bases__, (Foo,))
   160             else:
   160             else:
   161                 self.assertEquals(eclass.__bases__[0].__bases__, (Foo,))
   161                 self.assertEqual(eclass.__bases__[0].__bases__, (Foo,))
   162         # check Division eclass is still selected for plain Division entities
   162         # check Division eclass is still selected for plain Division entities
   163         eclass = self.select_eclass('Division')
   163         eclass = self.select_eclass('Division')
   164         self.assertEquals(eclass.__regid__, 'Division')
   164         self.assertEqual(eclass.__regid__, 'Division')
   165 
   165 
   166 if __name__ == '__main__':
   166 if __name__ == '__main__':
   167     unittest_main()
   167     unittest_main()