little update

This commit is contained in:
2026-08-12 21:11:39 +03:00
parent e3d5de12fe
commit 3af436d48a
37 changed files with 2299 additions and 9 deletions

View File

@@ -0,0 +1,46 @@
from uuid import uuid4
from kernel_consumer.main import Settings, _image_metadata, create_game_vms
class Cloud:
def __init__(self) -> None:
self.requests = []
def create_vms(self, requests):
self.requests.extend(requests)
return []
def wait_for_vms_ready(self, vms):
return vms
def test_creates_one_vm_per_team_plus_public_extra() -> None:
cloud = Cloud()
settings = Settings(
cloud_project_id="project-id",
cloud_availability_zone_id="zone-id",
cloud_availability_zone_name=None,
cloud_vm_password="Password123",
)
network = type("Network", (), {"cloud_subnet_id": "subnet-id"})()
request = {"team_count": 2}
create_game_vms(request, uuid4(), network, cloud, settings)
assert len(cloud.requests) == 3
assert [item.subnets[0]["new_floating_ip"] for item in cloud.requests] == [False, False, True]
assert all(item.subnets[0]["subnet_id"] == "subnet-id" for item in cloud.requests)
assert all(item.availability_zone_id == "zone-id" for item in cloud.requests)
assert all(item.availability_zone_name is None for item in cloud.requests)
def test_rejects_password_without_uppercase_latin_letter() -> None:
settings = Settings(cloud_vm_password="lowercase123")
try:
_image_metadata(settings, "game-host")
except ValueError as error:
assert str(error) == "CLOUD_VM_PASSWORD must contain at least one uppercase Latin letter"
else:
raise AssertionError("expected invalid password to be rejected")