]> git.decadent.org.uk Git - dak.git/blob - tests/dbtest_timestamps.py
Merge branch 'master' of ssh://franck.debian.org/srv/ftp.debian.org/git/dak
[dak.git] / tests / dbtest_timestamps.py
1 #!/usr/bin/env python
2
3 from db_test import DBDakTestCase
4
5 from daklib.dbconn import DBConn, Uid
6
7 import time
8 import unittest
9
10 class TimestampTestCase(DBDakTestCase):
11     """
12     TimestampTestCase checks that the timestamps created and modified are
13     working correctly.
14
15     TODO: Should we check all tables?
16     """
17
18     def sleep(self):
19         time.sleep(0.001)
20
21     def test_timestamps(self):
22         timestamp01 = self.now()
23         self.sleep()
24         uid = Uid(uid = 'ftp-master@debian.org')
25         self.session.add(uid)
26         self.session.commit()
27         created01 = uid.created
28         modified01 = uid.modified
29         self.sleep()
30         timestamp02 = self.now()
31         self.assertTrue(timestamp01 < created01)
32         self.assertTrue(timestamp01 < modified01)
33         self.assertTrue(created01 < timestamp02)
34         self.assertTrue(modified01 < timestamp02)
35         self.sleep()
36         uid.name = 'ftp team'
37         self.session.commit()
38         created02 = uid.created
39         modified02 = uid.modified
40         self.assertEqual(created01, created02)
41         self.assertTrue(modified01 < modified02)
42         self.sleep()
43         timestamp03 = self.now()
44         self.assertTrue(modified02 < timestamp03)
45
46     def classes_to_clean(self):
47         return (Uid,)
48
49 if __name__ == '__main__':
50     unittest.main()