pve-vm-setup/tests/test_factory.py
2026-03-08 18:32:25 +01:00

30 lines
983 B
Python

from pve_vm_setup.services.factory import ProxmoxServiceFactory
from pve_vm_setup.services.fake import FakeProxmoxService
from pve_vm_setup.services.proxmox import LiveProxmoxService
from pve_vm_setup.settings import AppSettings
def test_factory_returns_fake_service_when_live_env_is_missing() -> None:
settings = AppSettings.from_env({}, load_dotenv_file=False)
service = ProxmoxServiceFactory.create(settings)
assert isinstance(service, FakeProxmoxService)
def test_factory_returns_live_service_when_live_env_is_present() -> None:
settings = AppSettings.from_env(
{
"PROXMOX_URL": "https://proxmox.example.invalid:8006",
"PROXMOX_USER": "root",
"PROXMOX_PASSWORD": "secret",
"PROXMOX_REALM": "pam",
},
load_dotenv_file=False,
)
service = ProxmoxServiceFactory.create(settings)
try:
assert isinstance(service, LiveProxmoxService)
finally:
service.close()