1 """unit tests for module cubicweb.server.migractions |
1 """unit tests for module cubicweb.server.migractions |
2 """ |
2 """ |
3 |
3 |
4 from mx.DateTime import DateTime, today |
4 from datetime import date |
5 |
5 |
6 from logilab.common.testlib import TestCase, unittest_main |
6 from logilab.common.testlib import TestCase, unittest_main |
7 from cubicweb.devtools.apptest import RepositoryBasedTC, get_versions |
7 from cubicweb.devtools.apptest import RepositoryBasedTC, get_versions |
8 |
8 |
9 from cubicweb.server.repository import Repository |
9 from cubicweb.server.repository import Repository |
77 self.failIf('mydate' in self.schema) |
77 self.failIf('mydate' in self.schema) |
78 self.mh.cmd_add_attribute('Note', 'mydate') |
78 self.mh.cmd_add_attribute('Note', 'mydate') |
79 self.failUnless('mydate' in self.schema) |
79 self.failUnless('mydate' in self.schema) |
80 self.assertEquals(self.schema['mydate'].subjects(), ('Note', )) |
80 self.assertEquals(self.schema['mydate'].subjects(), ('Note', )) |
81 self.assertEquals(self.schema['mydate'].objects(), ('Date', )) |
81 self.assertEquals(self.schema['mydate'].objects(), ('Date', )) |
82 testdate = DateTime(2005, 12, 13) |
82 testdate = date(2005, 12, 13) |
83 eid1 = self.mh.rqlexec('INSERT Note N')[0][0] |
83 eid1 = self.mh.rqlexec('INSERT Note N')[0][0] |
84 eid2 = self.mh.rqlexec('INSERT Note N: N mydate %(mydate)s', {'mydate' : testdate})[0][0] |
84 eid2 = self.mh.rqlexec('INSERT Note N: N mydate %(mydate)s', {'mydate' : testdate})[0][0] |
85 d1 = self.mh.rqlexec('Any D WHERE X eid %(x)s, X mydate D', {'x': eid1}, 'x')[0][0] |
85 d1 = self.mh.rqlexec('Any D WHERE X eid %(x)s, X mydate D', {'x': eid1}, 'x')[0][0] |
86 d2 = self.mh.rqlexec('Any D WHERE X eid %(x)s, X mydate D', {'x': eid2}, 'x')[0][0] |
86 d2 = self.mh.rqlexec('Any D WHERE X eid %(x)s, X mydate D', {'x': eid2}, 'x')[0][0] |
87 self.assertEquals(d1, today()) |
87 self.assertEquals(d1, date.today()) |
88 self.assertEquals(d2, testdate) |
88 self.assertEquals(d2, testdate) |
89 self.mh.rollback() |
89 self.mh.rollback() |
90 |
90 |
91 def test_rename_attribute(self): |
91 def test_rename_attribute(self): |
92 self.failIf('civility' in self.schema) |
92 self.failIf('civility' in self.schema) |