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.
54 lines
1.9 KiB
54 lines
1.9 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, ValidationError
|
|
|
|
from .common import Common
|
|
|
|
|
|
class TestExternalSystem(Common):
|
|
|
|
def setUp(self):
|
|
super(TestExternalSystem, self).setUp()
|
|
self.record = self.env.ref('base_external_system.external_system_os')
|
|
|
|
def test_get_system_types(self):
|
|
"""It should return at least the test record's interface."""
|
|
self.assertIn(
|
|
(self.record._name, self.record._description),
|
|
self.env['external.system']._get_system_types(),
|
|
)
|
|
|
|
def test_check_fingerprint_blank(self):
|
|
"""It should not allow blank fingerprints when checking enabled."""
|
|
with self.assertRaises(ValidationError):
|
|
self.record.write({
|
|
'ignore_fingerprint': False,
|
|
'fingerprint': False,
|
|
})
|
|
|
|
def test_check_fingerprint_allowed(self):
|
|
"""It should not raise a validation error if there is a fingerprint."""
|
|
self.record.write({
|
|
'ignore_fingerprint': False,
|
|
'fingerprint': 'Data',
|
|
})
|
|
self.assertTrue(True)
|
|
|
|
def test_client(self):
|
|
"""It should yield the open interface client."""
|
|
with self._mock_method('client', self.record) as magic:
|
|
with self.record.system_id.client() as client:
|
|
self.assertEqual(client, magic().__enter__())
|
|
|
|
def test_create_creates_and_assigns_interface(self):
|
|
"""It should create and assign the interface on record create."""
|
|
self.assertEqual(
|
|
self.record.interface._name, 'external.system.os',
|
|
)
|
|
|
|
def test_action_test_connection(self):
|
|
"""It should proxy to the interface connection tester."""
|
|
with self.assertRaises(UserError):
|
|
self.record.system_id.action_test_connection()
|