]> git.decadent.org.uk Git - dak.git/blob - tests/dbtest_ormobject.py
Add new class ORMObject and ORMObjectTestCase.
[dak.git] / tests / dbtest_ormobject.py
1 #!/usr/bin/env python
2
3 from db_test import DBDakTestCase
4
5 from daklib.dbconn import Architecture, Suite
6
7 import json
8 import re
9 import unittest
10
11 class ORMObjectTestCase(DBDakTestCase):
12     """
13     The ORMObjectTestCase tests the behaviour of the ORMObject.
14     """
15
16     def test_strings(self):
17         'tests json(), __repr__(), and __str__()'
18         architecture = Architecture(arch_string = 'i386')
19         # test json()
20         data = json.loads(architecture.json())
21         self.assertEqual('i386', data['arch_string'])
22         # test repr()
23         self.assertEqual('<Architecture i386>', repr(architecture))
24         # test str()
25         self.assertTrue(re.match('<Architecture {.*}>', str(architecture)))
26         self.assertTrue(re.search('"arch_string": "i386"', str(architecture)))
27         sid = Suite(suite_name = 'sid')
28         squeeze = Suite(suite_name = 'squeeze')
29         architecture.suites = [sid, squeeze]
30         self.assertTrue(re.search('"suites_count": 2', str(architecture)))
31
32 if __name__ == '__main__':
33     unittest.main()