Skip to content
Snippets Groups Projects
Commit 07bd9354 authored by Erik Reid's avatar Erik Reid
Browse files

added subscription id param, to be discussed

parent 7671453a
No related branches found
No related tags found
No related merge requests found
......@@ -31,7 +31,7 @@ _DUMMY_INVENTORY = {
}
def import_new_router(new_router_fqdn: str, oss_params=settings.OSSParams):
def import_new_router(new_router_fqdn: str, subscription_id: str, oss_params=settings.OSSParams):
# TODO: this is a dummy implementation
# TODO: specifiy if this should be an error (and if now, what it means)
......@@ -39,7 +39,7 @@ def import_new_router(new_router_fqdn: str, oss_params=settings.OSSParams):
_DUMMY_INVENTORY[new_router_fqdn] = _dummy_router_interfaces()
def next_lag(router_fqdn: str, oss_params=settings.OSSParams) -> str:
def next_lag(router_fqdn: str, subscription_id: str, oss_params=settings.OSSParams) -> str:
# TODO: this is a dummy implementation
assert router_fqdn in _DUMMY_INVENTORY
......@@ -73,7 +73,7 @@ def _find_physical(router_fqdn: str, interface_name: str) -> dict:
raise AssertionError(f"interface {interface_name} not found on {router_fqdn}")
def reserve_physical_interface(router_fqdn: str, interface_name: str, oss_params=settings.OSSParams):
def reserve_physical_interface(router_fqdn: str, interface_name: str, subscription_id: str, oss_params=settings.OSSParams):
# TODO: this is a dummy implementation
ifc = _find_physical(router_fqdn, interface_name)
......
......@@ -14,34 +14,46 @@ def _random_string(n=None, letters=string.ascii_letters + string.digits + string
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)
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]
new_lags = {resource_manager.next_lag(router_fqdn=router_name) for _ in range(10)}
new_lags = {
resource_manager.next_lag(
router_fqdn=router_name, subscription_id=_random_string(10))
for _ in range(10)}
assert len(new_lags) == 10
assert new_lags <= set(resource_manager._DUMMY_INVENTORY[router_name]["lags"])
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)
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, interface_name=interface_name)
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)
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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment