Newer
Older
import random
import string
from gso.services import resource_manager
def _random_string(n=None, letters=string.ascii_letters + string.digits + string.punctuation):
# ignoring S311 because this is a test
n = random.randint(1, 20) # noqa: S311
return "".join(random.choices(letters, k=n)) # noqa: S311
def test_new_router():
router_name = _random_string(10)
assert router_name not in resource_manager._DUMMY_INVENTORY
resource_manager.import_new_router(new_router_fqdn=router_name, subscription_id=_random_string(10))
assert router_name in resource_manager._DUMMY_INVENTORY
def test_new_lag():
router_name = list(resource_manager._DUMMY_INVENTORY.keys())[0]
resource_manager.next_lag(router_fqdn=router_name, subscription_id=_random_string(10)) for _ in range(10)
}
assert new_lags <= set(resource_manager._DUMMY_INVENTORY[router_name]["lags"])
def test_physical_allocation_lifecycle_happy():
router_name = list(resource_manager._DUMMY_INVENTORY.keys())[0]
def _interfaces():
return resource_manager.available_physical_interfaces(router_fqdn=router_name)
initial_available = _interfaces()
interface_name = initial_available[0]
resource_manager.reserve_physical_interface(
router_fqdn=router_name, subscription_id=_random_string(10), interface_name=interface_name
)
current_available = _interfaces()
assert interface_name not in current_available
resource_manager.allocate_physical_interface(router_fqdn=router_name, interface_name=interface_name)
resource_manager.free_physical_interface(router_fqdn=router_name, interface_name=interface_name)
current_available = _interfaces()
assert interface_name in current_available