Skip to content
Snippets Groups Projects
test_parse_router.py 727 B
from jsonschema import validate

from resource_management.hardware.router \
    import load_line_cards, LINE_CARDS_LIST_SCHEMA


def test_load_line_cards(mocked_router, mocked_router_input_tables):

    fpcs = load_line_cards(
        hostname='bogus', username='bogus', key_filename='no file')
    fpcs = list(fpcs)
    validate(fpcs, LINE_CARDS_LIST_SCHEMA)

    expected_line_cards = set(mocked_router_input_tables['FpcHwTable'].keys())
    expected_ports = set(mocked_router_input_tables['PhyPortTable'].keys())

    line_cards = {f['name'] for f in fpcs}
    ports = set()
    for f in fpcs:
        ports |= {p['name'] for p in f['ports']}

    assert line_cards == expected_line_cards
    assert ports == expected_ports