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

random numbers of line cards & ports

parent 3587d3b0
No related branches found
No related tags found
No related merge requests found
from random import randint
from resource_management.db import model from resource_management.db import model
from resource_management.db import session_scope from resource_management.db import session_scope
from resource_management.cli import _save_router_info from resource_management.cli import _save_router_info
from resource_management.hardware.router import load_line_cards from resource_management.hardware.router import load_line_cards
def test_sanity_check(resources_db, router_name): def test_model_sanity_check(resources_db, router_name):
# router_name unused ... but needed by pytest test_node = [randint(1, 50) for _ in range(randint(1, 50))]
with session_scope() as session: with session_scope() as session:
node = model.Node(fqdn='a.b.c') node = model.Node(fqdn=router_name)
session.add(node) session.add(node)
for position in range(10): for position, num_ports in enumerate(test_node):
line_card = model.LineCard( line_card = model.LineCard(
model='XYZ', position=position, node=node) model=f'XYZ-{position}', position=position, node=node)
session.add(line_card) session.add(line_card)
for x in range(20): for idx in range(num_ports):
port = model.Port( port = model.Port(
name=str(x), line_card=line_card, speed=1000) name=str(idx), line_card=line_card, speed=1000)
session.add(port) session.add(port)
# new session - previous rows should have been committed # new session - previous rows should have been committed
with session_scope() as session: with session_scope() as session:
node = session.query(model.Node) \ node = session.query(model.Node) \
.filter(model.Node.fqdn == 'a.b.c').one() .filter(model.Node.fqdn == router_name).one()
assert len(node.line_cards) == 10 assert len(node.line_cards) == len(test_node)
for lc in node.line_cards: for expected_num_ports, line_card in zip(test_node, node.line_cards):
assert len(lc.ports) == 20 assert expected_num_ports == len(line_card.ports)
def test_save_router_info(resources_db, router_name, mocked_router): def test_save_router_info(resources_db, router_name, mocked_router):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment