~therp-nl/anybox.recipe.openerp/jbaudoux-relative_paths_resolve_conflict

« back to all changes in this revision

Viewing changes to tests_with_openerp/test_version.py

[MRG] Update with target branch

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
import os
 
2
from openerp.tests.common import TransactionCase
 
3
from anybox.recipe.openerp.runtime.session import Session
 
4
 
 
5
TEST_DATA_DIR = os.path.join(os.path.dirname(__file__), 'data')
 
6
 
 
7
 
 
8
class VersionTestCase(TransactionCase):
 
9
 
 
10
    def setUp(self):
 
11
        super(VersionTestCase, self).setUp()
 
12
        self.initSession()
 
13
 
 
14
    def initSession(self):
 
15
        session = self.session = Session(None, None, parse_config=False)
 
16
        session.registry = self.registry
 
17
        session.cr = self.cr
 
18
        session.uid = self.uid
 
19
        session.buildout_dir = TEST_DATA_DIR
 
20
        return session
 
21
 
 
22
    def test_version_class(self):
 
23
        """Test the version class itself.
 
24
 
 
25
        This does not need a database, but still needs to import Openerp"""
 
26
        version = self.session.parse_version_string('1.2.3')
 
27
        self.assertFalse(version < '1.2.2')
 
28
        self.assertTrue(version < (1, 2, 5))
 
29
        self.assertTrue(version < '1.2.4-dev')
 
30
        self.assertFalse(version < '1.2.3a1-2')
 
31
        self.assertTrue(version < '1.2.4a1-2')
 
32
 
 
33
    def test_db_version(self):
 
34
        session = self.session
 
35
        session.db_version = '1.2.3a3'
 
36
        self.assertEqual(str(session.db_version), '1.2.3a3')
 
37
 
 
38
        session = self.initSession()
 
39
        self.assertEqual(str(session.db_version), '1.2.3a3')
 
40
        self.assertTrue(session.db_version < '1.2.3')
 
41
        self.assertTrue(session.db_version < (1, 2, 3))
 
42
        self.assertTrue(session.db_version > (1, 2, 2))
 
43
 
 
44
    def test_db_version_missing(self):
 
45
        self.assertTrue(self.session.db_version is None)
 
46
 
 
47
    def test_pkg_version(self):
 
48
        pkg_version = self.session.package_version
 
49
        self.assertEqual(pkg_version, '0.1.2-dev')
 
50
        self.assertTrue(pkg_version > (0, 1, 1))
 
51
        self.assertTrue(pkg_version < (0, 1, 2))
 
52
 
 
53
        # The assertRaises context manager appears in Python 2.7
 
54
        try:
 
55
            self.session.package_version = '1.2.3'
 
56
        except AttributeError:
 
57
            pass
 
58
        else:
 
59
            self.fail("package_version should be readonly")