You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.6 KiB
45 lines
1.6 KiB
# -*- coding: utf-8 -*-
|
|
# Copyright 2017 LasLabs Inc.
|
|
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
|
|
|
|
from odoo.exceptions import UserError
|
|
|
|
from .common import Common
|
|
|
|
|
|
class TestExternalSystemAdapter(Common):
|
|
|
|
def setUp(self):
|
|
super(TestExternalSystemAdapter, self).setUp()
|
|
self.system = self.env.ref('base_external_system.external_system_os')
|
|
self.record = self.env['external.system.adapter'].new({
|
|
'system_id': self.system.id,
|
|
})
|
|
|
|
def test_client_yields_client(self):
|
|
"""It should yield the client."""
|
|
with self._mock_method('external_get_client') as magic:
|
|
with self.record.client() as client:
|
|
self.assertEqual(client, magic())
|
|
|
|
def test_client_destroys_client(self):
|
|
"""It should destroy the client after use."""
|
|
with self._mock_method('external_destroy_client') as magic:
|
|
with self.record.client() as client:
|
|
self.assertFalse(magic.call_count)
|
|
magic.assert_called_once_with(client)
|
|
|
|
def test_external_get_client_ensure_one(self):
|
|
"""It should assert singletons."""
|
|
with self.assertRaises(ValueError):
|
|
self.env['external.system.adapter'].external_get_client()
|
|
|
|
def test_external_destroy_client_ensure_one(self):
|
|
"""It should assert singletons."""
|
|
with self.assertRaises(ValueError):
|
|
self.env['external.system.adapter'].external_destroy_client(None)
|
|
|
|
def test_external_test_connection(self):
|
|
"""It should raise a UserError."""
|
|
with self.assertRaises(UserError):
|
|
self.record.external_test_connection()
|