]> git.decadent.org.uk Git - dak.git/blob - tests/dbtest_metadata.py
Add Metadata classes + tests.
[dak.git] / tests / dbtest_metadata.py
1 #!/usr/bin/env python
2
3 from db_test import DBDakTestCase
4
5 from daklib.dbconn import DBConn, MetadataKey, BinaryMetadata, SourceMetadata
6
7 import unittest
8
9 class MetadataTestCase(DBDakTestCase):
10     """
11     This TestCase checks the metadata handling.
12     """
13
14     def test_mappers(self):
15         '''
16         Tests the mapper configuration.
17         '''
18         self.setup_binaries()
19         # MetadataKey
20         depends = MetadataKey(key = 'Depends')
21         self.session.add(depends)
22         self.session.flush()
23         self.assertTrue(depends.key_id is not None)
24         # BinaryMetadata
25         hello_dep = BinaryMetadata(binary = self.binary['hello_2.2-1_i386'],
26             key = depends, value = 'foobar (>= 1.0)')
27         self.session.add(hello_dep)
28         self.session.flush()
29         self.assertEqual('hello', hello_dep.binary.package)
30         self.assertEqual('Depends', hello_dep.key.key)
31         self.assertEqual('foobar (>= 1.0)', hello_dep.value)
32         # SourceMetadata
33         build_dep = MetadataKey(key = 'Build-Depends')
34         hello_bd = SourceMetadata(source = self.binary['hello_2.2-1_i386'].source,
35             key = build_dep, value = 'foobar-dev')
36         self.session.add(hello_bd)
37         self.session.flush()
38         self.assertEqual('hello', hello_bd.source.source)
39         self.assertEqual('Build-Depends', hello_bd.key.key)
40         self.assertEqual('foobar-dev', hello_bd.value)
41
42 if __name__ == '__main__':
43     unittest.main()