Orchestrator / test_compute_provider_manager.py
evgeniy778's picture
Create test_compute_provider_manager.py
8b25590 verified
Raw
History Blame Contribute Delete
4.48 kB
# =====================================================
# Apckeyl Framework
# Version 1.0
# test_compute_provider_manager.py
# =====================================================
"""
Tests for Compute Provider Manager.
Version 1.0
"""
from compute_provider_manager import (
ComputeProviderManager,
)
from compute_provider_registry import (
ComputeProviderRegistry,
)
from example_compute_provider import (
ExampleComputeProvider,
)
# =====================================================
# Test Manager Creation
# =====================================================
def test_manager_creation():
registry = ComputeProviderRegistry()
manager = ComputeProviderManager(
registry
)
assert manager is not None
assert manager.factory is not None
assert manager.selector is not None
# =====================================================
# Test Missing Registry
# =====================================================
def test_manager_requires_registry():
try:
ComputeProviderManager(
None
)
assert False
except ValueError as error:
assert str(error) == (
"Registry is required"
)
# =====================================================
# Test Register Provider
# =====================================================
def test_register_provider():
registry = ComputeProviderRegistry()
manager = ComputeProviderManager(
registry
)
provider = ExampleComputeProvider()
result = manager.register_provider(
provider
)
assert result is provider
assert manager.get_provider(
"example_compute_provider"
) is provider
# =====================================================
# Test Get Provider
# =====================================================
def test_get_provider():
registry = ComputeProviderRegistry()
manager = ComputeProviderManager(
registry
)
provider = ExampleComputeProvider()
manager.register_provider(
provider
)
result = manager.get_provider(
"example_compute_provider"
)
assert result is provider
# =====================================================
# Test Unknown Provider
# =====================================================
def test_get_unknown_provider():
registry = ComputeProviderRegistry()
manager = ComputeProviderManager(
registry
)
assert manager.get_provider(
"unknown_provider"
) is None
# =====================================================
# Test Select Provider
# =====================================================
def test_select_provider():
registry = ComputeProviderRegistry()
manager = ComputeProviderManager(
registry
)
provider = ExampleComputeProvider()
manager.register_provider(
provider
)
result = manager.select_provider(
"example_task"
)
assert result is provider
# =====================================================
# Test Unsupported Task
# =====================================================
def test_select_unsupported_task():
registry = ComputeProviderRegistry()
manager = ComputeProviderManager(
registry
)
provider = ExampleComputeProvider()
manager.register_provider(
provider
)
result = manager.select_provider(
"unknown_task"
)
assert result is None
# =====================================================
# Test Availability
# =====================================================
def test_provider_availability():
registry = ComputeProviderRegistry()
manager = ComputeProviderManager(
registry
)
provider = ExampleComputeProvider()
manager.register_provider(
provider
)
assert manager.is_available(
"example_task"
) is True
# =====================================================
# Test Unavailable Task
# =====================================================
def test_provider_unavailable():
registry = ComputeProviderRegistry()
manager = ComputeProviderManager(
registry
)
provider = ExampleComputeProvider()
manager.register_provider(
provider
)
assert manager.is_available(
"unknown_task"
) is False
# =====================================================
# End of File
# =====================================================