Tower: upload cetmix_tower_ovh 16.0.1.0.1 (via marketplace)
This commit is contained in:
63
addons/cetmix_tower_ovh/tests/test_ovh_integration.py
Normal file
63
addons/cetmix_tower_ovh/tests/test_ovh_integration.py
Normal file
@@ -0,0 +1,63 @@
|
||||
# Copyright 2024 Cetmix OÜ
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
||||
from odoo.tests import common
|
||||
|
||||
|
||||
class TestOvhIntegration(common.TransactionCase):
|
||||
"""Test OVH integration with Cetmix Tower commands."""
|
||||
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
# Create a test command
|
||||
self.command = self.env["cx.tower.command"].create(
|
||||
{
|
||||
"name": "Test OVH Command",
|
||||
"action": "python_code",
|
||||
}
|
||||
)
|
||||
self.eval_context = self.env[
|
||||
"cx.tower.command"
|
||||
]._get_python_command_eval_context()
|
||||
|
||||
def test_ovh_in_evaluation_context(self):
|
||||
"""Test that ovh is added to the evaluation context."""
|
||||
self.assertIn("ovh", self.eval_context)
|
||||
ovh_obj = self.eval_context["ovh"]
|
||||
self.assertTrue(hasattr(ovh_obj, "Client"))
|
||||
|
||||
def test_ovh_in_evaluation_context_with_server(self):
|
||||
"""Test that ovh is added to the evaluation context when server is provided."""
|
||||
test_server = self.env["cx.tower.server"].create(
|
||||
{
|
||||
"name": "Test OVH Server",
|
||||
"reference": "test_ovh_server",
|
||||
"ip_v4_address": "localhost",
|
||||
"ssh_username": "admin",
|
||||
"ssh_password": "password",
|
||||
"ssh_auth_mode": "p",
|
||||
"host_key": "test_key",
|
||||
}
|
||||
)
|
||||
eval_context = self.env["cx.tower.command"]._get_python_command_eval_context(
|
||||
server=test_server
|
||||
)
|
||||
|
||||
self.assertIn("ovh", eval_context)
|
||||
ovh_obj = eval_context["ovh"]
|
||||
self.assertTrue(hasattr(ovh_obj, "Client"))
|
||||
self.assertEqual(eval_context["server"], test_server)
|
||||
|
||||
def test_ovh_client_instantiation(self):
|
||||
"""Test that ovh.Client can be instantiated from context."""
|
||||
ovh_mod = self.eval_context["ovh"]
|
||||
# Only test instantiation, do not require credentials
|
||||
try:
|
||||
client = ovh_mod.Client(
|
||||
endpoint="ovh-eu",
|
||||
application_key="a",
|
||||
application_secret="b",
|
||||
consumer_key="c",
|
||||
)
|
||||
self.assertIsNotNone(client)
|
||||
except Exception as e:
|
||||
self.fail(f"ovh.Client instantiation failed: {e}")
|
||||
Reference in New Issue
Block a user