42 self.assertEquals(self.schema['CWUser'].meta_attributes(), {}) |
42 self.assertEquals(self.schema['CWUser'].meta_attributes(), {}) |
43 self.assertEquals(dict((str(k), v) for k, v in self.schema['State'].meta_attributes().iteritems()), |
43 self.assertEquals(dict((str(k), v) for k, v in self.schema['State'].meta_attributes().iteritems()), |
44 {'description_format': ('format', 'description')}) |
44 {'description_format': ('format', 'description')}) |
45 |
45 |
46 |
46 |
47 class CWUserTC(BaseEntityTC): |
|
48 def test_dc_title_and_name(self): |
|
49 e = self.entity('CWUser U WHERE U login "member"') |
|
50 self.assertEquals(e.dc_title(), 'member') |
|
51 self.assertEquals(e.name(), 'member') |
|
52 self.execute(u'SET X firstname "bouah" WHERE X is CWUser, X login "member"') |
|
53 self.assertEquals(e.dc_title(), 'member') |
|
54 self.assertEquals(e.name(), u'bouah') |
|
55 self.execute(u'SET X surname "lôt" WHERE X is CWUser, X login "member"') |
|
56 self.assertEquals(e.dc_title(), 'member') |
|
57 self.assertEquals(e.name(), u'bouah lôt') |
|
58 |
|
59 class EmailAddressTC(BaseEntityTC): |
47 class EmailAddressTC(BaseEntityTC): |
60 def test_canonical_form(self): |
48 def test_canonical_form(self): |
61 email1 = self.execute('INSERT EmailAddress X: X address "maarten.ter.huurne@philips.com"').get_entity(0, 0) |
49 email1 = self.execute('INSERT EmailAddress X: X address "maarten.ter.huurne@philips.com"').get_entity(0, 0) |
62 email2 = self.execute('INSERT EmailAddress X: X address "maarten@philips.com"').get_entity(0, 0) |
50 email2 = self.execute('INSERT EmailAddress X: X address "maarten@philips.com"').get_entity(0, 0) |
63 email3 = self.execute('INSERT EmailAddress X: X address "toto@logilab.fr"').get_entity(0, 0) |
51 email3 = self.execute('INSERT EmailAddress X: X address "toto@logilab.fr"').get_entity(0, 0) |
64 self.execute('SET X prefered_form Y WHERE X eid %s, Y eid %s' % (email1.eid, email2.eid)) |
52 email1.set_relations(prefered_form=email2) |
65 self.assertEquals(email1.prefered.eid, email2.eid) |
53 self.assertEquals(email1.prefered.eid, email2.eid) |
66 self.assertEquals(email2.prefered.eid, email2.eid) |
54 self.assertEquals(email2.prefered.eid, email2.eid) |
67 self.assertEquals(email3.prefered.eid, email3.eid) |
55 self.assertEquals(email3.prefered.eid, email3.eid) |
68 |
56 |
69 def test_mangling(self): |
57 def test_mangling(self): |
70 eid = self.execute('INSERT EmailAddress X: X address "maarten.ter.huurne@philips.com"')[0][0] |
58 email = self.execute('INSERT EmailAddress X: X address "maarten.ter.huurne@philips.com"').get_entity(0, 0) |
71 email = self.entity('Any X WHERE X eid %(x)s', {'x':eid}, 'x') |
|
72 self.assertEquals(email.display_address(), 'maarten.ter.huurne@philips.com') |
59 self.assertEquals(email.display_address(), 'maarten.ter.huurne@philips.com') |
73 self.assertEquals(email.printable_value('address'), 'maarten.ter.huurne@philips.com') |
60 self.assertEquals(email.printable_value('address'), 'maarten.ter.huurne@philips.com') |
74 self.vreg.config.global_set_option('mangle-emails', True) |
61 self.vreg.config.global_set_option('mangle-emails', True) |
75 self.assertEquals(email.display_address(), 'maarten.ter.huurne at philips dot com') |
62 self.assertEquals(email.display_address(), 'maarten.ter.huurne at philips dot com') |
76 self.assertEquals(email.printable_value('address'), 'maarten.ter.huurne at philips dot com') |
63 self.assertEquals(email.printable_value('address'), 'maarten.ter.huurne at philips dot com') |
77 eid = self.execute('INSERT EmailAddress X: X address "syt"')[0][0] |
64 email = self.execute('INSERT EmailAddress X: X address "syt"').get_entity(0, 0) |
78 email = self.entity('Any X WHERE X eid %(x)s', {'x':eid}, 'x') |
|
79 self.assertEquals(email.display_address(), 'syt') |
65 self.assertEquals(email.display_address(), 'syt') |
80 self.assertEquals(email.printable_value('address'), 'syt') |
66 self.assertEquals(email.printable_value('address'), 'syt') |
81 |
67 |
82 |
68 |
83 class CWUserTC(BaseEntityTC): |
69 class CWUserTC(BaseEntityTC): |
90 e = self.entity('CWUser X WHERE X login "admin"') |
76 e = self.entity('CWUser X WHERE X login "admin"') |
91 self.failUnless(e.matching_groups('managers')) |
77 self.failUnless(e.matching_groups('managers')) |
92 self.failIf(e.matching_groups('xyz')) |
78 self.failIf(e.matching_groups('xyz')) |
93 self.failUnless(e.matching_groups(('xyz', 'managers'))) |
79 self.failUnless(e.matching_groups(('xyz', 'managers'))) |
94 self.failIf(e.matching_groups(('xyz', 'abcd'))) |
80 self.failIf(e.matching_groups(('xyz', 'abcd'))) |
|
81 |
|
82 def test_dc_title_and_name(self): |
|
83 e = self.entity('CWUser U WHERE U login "member"') |
|
84 self.assertEquals(e.dc_title(), 'member') |
|
85 self.assertEquals(e.name(), 'member') |
|
86 e.set_attributes(firstname=u'bouah') |
|
87 self.assertEquals(e.dc_title(), 'member') |
|
88 self.assertEquals(e.name(), u'bouah') |
|
89 e.set_attributes(surname=u'lôt') |
|
90 self.assertEquals(e.dc_title(), 'member') |
|
91 self.assertEquals(e.name(), u'bouah lôt') |
|
92 |
|
93 def test_allowed_massmail_keys(self): |
|
94 e = self.entity('CWUser U WHERE U login "member"') |
|
95 # Bytes/Password attributes should be omited |
|
96 self.assertEquals(e.allowed_massmail_keys(), |
|
97 set(('surname', 'firstname', 'login', 'last_login_time', |
|
98 'creation_date', 'modification_date', 'cwuri', 'eid')) |
|
99 ) |
95 |
100 |
96 |
101 |
97 class InterfaceTC(CubicWebTC): |
102 class InterfaceTC(CubicWebTC): |
98 |
103 |
99 def test_nonregr_subclasses_and_mixins_interfaces(self): |
104 def test_nonregr_subclasses_and_mixins_interfaces(self): |