15 ## self.add_entity('Tag', name=u'x') |
15 ## self.add_entity('Tag', name=u'x') |
16 ## self.add_entity('Link', title=u'perdu', url=u'http://www.perdu.com', |
16 ## self.add_entity('Link', title=u'perdu', url=u'http://www.perdu.com', |
17 ## embed=False) |
17 ## embed=False) |
18 |
18 |
19 def test_boolean_value(self): |
19 def test_boolean_value(self): |
20 e = self.etype_instance('EUser') |
20 e = self.etype_instance('CWUser') |
21 self.failUnless(e) |
21 self.failUnless(e) |
22 |
22 |
23 def test_yams_inheritance(self): |
23 def test_yams_inheritance(self): |
24 from entities import Note |
24 from entities import Note |
25 e = self.etype_instance('SubNote') |
25 e = self.etype_instance('SubNote') |
26 self.assertIsInstance(e, Note) |
26 self.assertIsInstance(e, Note) |
27 e2 = self.etype_instance('SubNote') |
27 e2 = self.etype_instance('SubNote') |
28 self.assertIs(e.__class__, e2.__class__) |
28 self.assertIs(e.__class__, e2.__class__) |
29 |
29 |
30 def test_has_eid(self): |
30 def test_has_eid(self): |
31 e = self.etype_instance('EUser') |
31 e = self.etype_instance('CWUser') |
32 self.assertEquals(e.eid, None) |
32 self.assertEquals(e.eid, None) |
33 self.assertEquals(e.has_eid(), False) |
33 self.assertEquals(e.has_eid(), False) |
34 e.eid = 'X' |
34 e.eid = 'X' |
35 self.assertEquals(e.has_eid(), False) |
35 self.assertEquals(e.has_eid(), False) |
36 e.eid = 0 |
36 e.eid = 0 |
66 user = self.user() |
66 user = self.user() |
67 adeleid = self.execute('INSERT EmailAddress X: X address "toto@logilab.org", U use_email X WHERE U login "admin"')[0][0] |
67 adeleid = self.execute('INSERT EmailAddress X: X address "toto@logilab.org", U use_email X WHERE U login "admin"')[0][0] |
68 e = self.entity('Any X WHERE X eid %(x)s', {'x':user.eid}, 'x') |
68 e = self.entity('Any X WHERE X eid %(x)s', {'x':user.eid}, 'x') |
69 self.assertEquals(e.use_email[0].address, "toto@logilab.org") |
69 self.assertEquals(e.use_email[0].address, "toto@logilab.org") |
70 self.assertEquals(e.use_email[0].eid, adeleid) |
70 self.assertEquals(e.use_email[0].eid, adeleid) |
71 usereid = self.execute('INSERT EUser X: X login "toto", X upassword "toto", X in_group G, X in_state S ' |
71 usereid = self.execute('INSERT CWUser X: X login "toto", X upassword "toto", X in_group G, X in_state S ' |
72 'WHERE G name "users", S name "activated"')[0][0] |
72 'WHERE G name "users", S name "activated"')[0][0] |
73 e = self.entity('Any X WHERE X eid %(x)s', {'x':usereid}, 'x') |
73 e = self.entity('Any X WHERE X eid %(x)s', {'x':usereid}, 'x') |
74 e.copy_relations(user.eid) |
74 e.copy_relations(user.eid) |
75 self.failIf(e.use_email) |
75 self.failIf(e.use_email) |
76 self.failIf(e.primary_email) |
76 self.failIf(e.primary_email) |
77 |
77 |
78 def test_copy_with_non_initial_state(self): |
78 def test_copy_with_non_initial_state(self): |
79 user = self.user() |
79 user = self.user() |
80 eid = self.execute('INSERT EUser X: X login "toto", X upassword %(pwd)s, X in_group G WHERE G name "users"', |
80 eid = self.execute('INSERT CWUser X: X login "toto", X upassword %(pwd)s, X in_group G WHERE G name "users"', |
81 {'pwd': 'toto'})[0][0] |
81 {'pwd': 'toto'})[0][0] |
82 self.commit() |
82 self.commit() |
83 self.execute('SET X in_state S WHERE X eid %(x)s, S name "deactivated"', {'x': eid}, 'x') |
83 self.execute('SET X in_state S WHERE X eid %(x)s, S name "deactivated"', {'x': eid}, 'x') |
84 self.commit() |
84 self.commit() |
85 eid2 = self.execute('INSERT EUser X: X login "tutu", X upassword %(pwd)s', {'pwd': 'toto'})[0][0] |
85 eid2 = self.execute('INSERT CWUser X: X login "tutu", X upassword %(pwd)s', {'pwd': 'toto'})[0][0] |
86 e = self.entity('Any X WHERE X eid %(x)s', {'x': eid2}, 'x') |
86 e = self.entity('Any X WHERE X eid %(x)s', {'x': eid2}, 'x') |
87 e.copy_relations(eid) |
87 e.copy_relations(eid) |
88 self.commit() |
88 self.commit() |
89 e.clear_related_cache('in_state', 'subject') |
89 e.clear_related_cache('in_state', 'subject') |
90 self.assertEquals(e.state, 'activated') |
90 self.assertEquals(e.state, 'activated') |
198 self.add_entity('Personne', nom=u'di mascio', prenom=u'gwen') |
198 self.add_entity('Personne', nom=u'di mascio', prenom=u'gwen') |
199 self.assertEquals(len(e.unrelated('tags', 'Personne', 'subject', limit=1)), |
199 self.assertEquals(len(e.unrelated('tags', 'Personne', 'subject', limit=1)), |
200 1) |
200 1) |
201 |
201 |
202 def test_new_entity_unrelated(self): |
202 def test_new_entity_unrelated(self): |
203 e = self.etype_instance('EUser') |
203 e = self.etype_instance('CWUser') |
204 unrelated = [r[0] for r in e.unrelated('in_group', 'EGroup', 'subject')] |
204 unrelated = [r[0] for r in e.unrelated('in_group', 'CWGroup', 'subject')] |
205 # should be default groups but owners, i.e. managers, users, guests |
205 # should be default groups but owners, i.e. managers, users, guests |
206 self.assertEquals(len(unrelated), 3) |
206 self.assertEquals(len(unrelated), 3) |
207 |
207 |
208 def test_printable_value_string(self): |
208 def test_printable_value_string(self): |
209 e = self.add_entity('Card', title=u'rest test', content=u'du :eid:`1:*ReST*`', |
209 e = self.add_entity('Card', title=u'rest test', content=u'du :eid:`1:*ReST*`', |
210 content_format=u'text/rest') |
210 content_format=u'text/rest') |
211 self.assertEquals(e.printable_value('content'), |
211 self.assertEquals(e.printable_value('content'), |
212 '<p>du <a class="reference" href="http://testing.fr/cubicweb/egroup/managers">*ReST*</a></p>\n') |
212 '<p>du <a class="reference" href="http://testing.fr/cubicweb/egroup/managers">*ReST*</a></p>\n') |
213 e['content'] = 'du <em>html</em> <ref rql="EUser X">users</ref>' |
213 e['content'] = 'du <em>html</em> <ref rql="CWUser X">users</ref>' |
214 e['content_format'] = 'text/html' |
214 e['content_format'] = 'text/html' |
215 self.assertEquals(e.printable_value('content'), |
215 self.assertEquals(e.printable_value('content'), |
216 'du <em>html</em> <a href="http://testing.fr/cubicweb/view?rql=EUser%20X">users</a>') |
216 'du <em>html</em> <a href="http://testing.fr/cubicweb/view?rql=CWUser%20X">users</a>') |
217 e['content'] = 'du *texte*' |
217 e['content'] = 'du *texte*' |
218 e['content_format'] = 'text/plain' |
218 e['content_format'] = 'text/plain' |
219 self.assertEquals(e.printable_value('content'), |
219 self.assertEquals(e.printable_value('content'), |
220 '<p>\ndu *texte*\n</p>') |
220 '<p>\ndu *texte*\n</p>') |
221 e['title'] = 'zou' |
221 e['title'] = 'zou' |
339 self.execute('DELETE RT add_permission G WHERE RT name "wf_info_for", G name "managers"') |
339 self.execute('DELETE RT add_permission G WHERE RT name "wf_info_for", G name "managers"') |
340 self.commit() |
340 self.commit() |
341 |
341 |
342 def test_request_cache(self): |
342 def test_request_cache(self): |
343 req = self.request() |
343 req = self.request() |
344 user = self.entity('EUser X WHERE X login "admin"', req=req) |
344 user = self.entity('CWUser X WHERE X login "admin"', req=req) |
345 state = user.in_state[0] |
345 state = user.in_state[0] |
346 samestate = self.entity('State X WHERE X name "activated"', req=req) |
346 samestate = self.entity('State X WHERE X name "activated"', req=req) |
347 self.failUnless(state is samestate) |
347 self.failUnless(state is samestate) |
348 |
348 |
349 def test_rest_path(self): |
349 def test_rest_path(self): |