1
0
mirror of https://github.com/checktheroads/hyperglass synced 2024-05-11 05:55:08 +00:00

40 lines
901 B
Python

"""Test Juniper XML Parsing."""
# Standard Library
import sys
import json
from pathlib import Path
# Project
from hyperglass.log import log
# Local
from .juniper import parse_juniper
SAMPLE_FILES = (
Path(__file__).parent.parent / "models" / "parsing" / "juniper_route_direct.xml",
Path(__file__).parent.parent / "models" / "parsing" / "juniper_route_indirect.xml",
Path(__file__).parent.parent / "models" / "parsing" / "juniper_route_aspath.xml",
)
@log.catch
def run():
"""Run tests."""
samples = ()
if len(sys.argv) == 2:
samples += (sys.argv[1],)
else:
for sample_file in SAMPLE_FILES:
with sample_file.open("r") as file:
samples += (file.read(),)
for sample in samples:
parsed = parse_juniper([sample])
log.info(json.dumps(parsed, indent=2))
sys.exit(0)
if __name__ == "__main__":
run()