Tower: upload cetmix_tower_server 16.0.3.0.1 (via marketplace)

This commit is contained in:
2026-04-27 08:18:27 +00:00
parent 95ab9b7b07
commit 43f1d3a460

View File

@@ -0,0 +1,58 @@
# Copyright (C) 2022 Cetmix OÜ
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo.tests.common import tagged
from .common import TestTowerCommon
@tagged("partner_servers_btn")
class TestPartnerServers(TestTowerCommon):
@classmethod
def setUpClass(cls):
super().setUpClass()
cls.partner_a = cls.env["res.partner"].create({"name": "Partner A"})
cls.partner_b = cls.env["res.partner"].create({"name": "Partner B"})
cls.partner_b_child = cls.env["res.partner"].create(
{
"name": "Partner B Child",
"parent_id": cls.partner_b.id,
}
)
cls.server_defaults = {
"name": "Test Server",
"ssh_username": "root",
"ssh_port": 22,
"ssh_password": "Test-P@ssw0rd-123",
"ip_v4_address": "127.0.0.1",
"skip_host_key": True,
}
cls.Server.create({"partner_id": cls.partner_b.id, **cls.server_defaults})
cls.Server.create({"partner_id": cls.partner_b.id, **cls.server_defaults})
cls.Server.create({"partner_id": cls.partner_b_child.id, **cls.server_defaults})
key = cls.Key.create({"name": "SSH Token", "key_type": "s"})
cls.KeyValue.create(
{
"key_id": key.id,
"partner_id": cls.partner_b.id,
"secret_value": "TOPSECRET",
}
)
def test_server_count_compute(self):
"""Server count: direct + onelevel child + zero if none."""
self.assertEqual(self.partner_b.server_count, 3)
self.assertEqual(self.partner_b_child.server_count, 1)
self.assertEqual(self.partner_a.server_count, 0)
def test_parent_with_only_child_servers(self):
"""Parent without servers directs and with child_of."""
parent = self.env["res.partner"].create({"name": "Parent Only"})
child = self.env["res.partner"].create(
{"name": "Child with Server", "parent_id": parent.id}
)
self.Server.create({"partner_id": child.id, **self.server_defaults})
self.assertEqual(parent.server_count, 1)