File: test_session.py

package info (click to toggle)
python-odoorpc 0.10.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 604 kB
  • sloc: python: 3,461; makefile: 154; sh: 36
file content (76 lines) | stat: -rw-r--r-- 2,989 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# -*- coding: utf-8 -*-

import os
import tempfile

import odoorpc
from odoorpc.tests import LoginTestCase


class TestSession(LoginTestCase):
    def setUp(self):
        LoginTestCase.setUp(self)
        self.session_name = self.env['db']
        self.file_path = tempfile.mkstemp(suffix='.cfg', prefix='odoorpc_')[1]

    def tearDown(self):
        os.remove(self.file_path)

    def test_session_odoo_list(self):
        result = odoorpc.ODOO.list(rc_file=self.file_path)
        self.assertIsInstance(result, list)
        other_file_path = tempfile.mkstemp()[1]
        result = odoorpc.ODOO.list(rc_file=other_file_path)
        self.assertIsInstance(result, list)

    def test_session_odoo_save_and_remove(self):
        self.odoo.save(self.session_name, rc_file=self.file_path)
        result = odoorpc.ODOO.list(rc_file=self.file_path)
        self.assertIn(self.session_name, result)
        odoorpc.ODOO.remove(self.session_name, rc_file=self.file_path)

    def test_session_odoo_load(self):
        self.odoo.save(self.session_name, rc_file=self.file_path)
        odoo = odoorpc.ODOO.load(self.session_name, rc_file=self.file_path)
        self.assertIsInstance(odoo, odoorpc.ODOO)
        self.assertEqual(self.odoo.host, odoo.host)
        self.assertEqual(self.odoo.port, odoo.port)
        self.assertEqual(self.odoo.protocol, odoo.protocol)
        self.assertEqual(self.odoo.env.db, odoo.env.db)
        self.assertEqual(self.odoo.env.uid, odoo.env.uid)
        odoorpc.ODOO.remove(self.session_name, rc_file=self.file_path)

    def test_session_get(self):
        self.odoo.save(self.session_name, rc_file=self.file_path)
        data = {
            'type': self.odoo.__class__.__name__,
            'host': self.odoo.host,
            'protocol': self.odoo.protocol,
            'port': int(self.odoo.port),
            'timeout': self.odoo.config['timeout'],
            'user': self.odoo._login,
            'passwd': self.odoo._password,
            'database': self.odoo.env.db,
        }
        result = odoorpc.session.get(self.session_name, rc_file=self.file_path)
        self.assertEqual(data, result)
        odoorpc.ODOO.remove(self.session_name, rc_file=self.file_path)

    def test_session_get_all(self):
        self.odoo.save(self.session_name, rc_file=self.file_path)
        data = {
            self.session_name: {
                'type': self.odoo.__class__.__name__,
                'host': self.odoo.host,
                'protocol': self.odoo.protocol,
                'port': int(self.odoo.port),
                'timeout': self.odoo.config['timeout'],
                'user': self.odoo._login,
                'passwd': self.odoo._password,
                'database': self.odoo.env.db,
            }
        }
        result = odoorpc.session.get_all(rc_file=self.file_path)
        self.assertIn(self.session_name, result)
        self.assertEqual(data, result)
        odoorpc.ODOO.remove(self.session_name, rc_file=self.file_path)