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

💚 Fix missing reqs & CI cleanup

This commit is contained in:
Matt Love
2019-07-16 00:30:57 -07:00
parent ff0843cc30
commit ce60fb3a00
3 changed files with 33 additions and 29 deletions

View File

@ -2,6 +2,7 @@ aredis==1.1.5
click==6.7
hiredis==1.0.0
http3==0.6.7
jinja2==2.10.1
libsass==0.18.0
logzero==1.5.0
markdown2==2.3.7

View File

@ -1,6 +1,6 @@
#!/usr/bin/env python3
"""
Starts hyperglass with the Flask development server
Starts hyperglass with the Sanic web server
"""
import os
import sys
@ -12,15 +12,15 @@ parent_directory = os.path.dirname(working_directory)
def construct_test(test_query, location, test_target):
"""Constructs JSON POST data for test_hyperglass function"""
"""Constructs JSON POST data for test_hyperglass function."""
constructed_query = json.dumps(
{"type": test_query, "location": location, "target": test_target}
)
return constructed_query
def flask_dev_server(host, port):
"""Starts Flask development server for testing without WSGI/Reverse Proxy"""
def test_server(host, port):
"""Starts Sanic web server for testing."""
try:
sys.path.insert(0, parent_directory)
@ -28,7 +28,7 @@ def flask_dev_server(host, port):
from hyperglass import hyperglass
render.css()
logger.info("Starting Flask development server")
logger.info("Starting Sanic web server...")
hyperglass.app.run(host=host, debug=True, port=port)
except:
logger.error("Exception occurred while trying to start test server...")
@ -36,4 +36,4 @@ def flask_dev_server(host, port):
if __name__ == "__main__":
flask_dev_server("localhost", 5000)
test_server("localhost", 5000)

View File

@ -5,7 +5,7 @@ Runs tests against test hyperglass instance
import os
import sys
import json
import requests
import http3
import logzero
working_directory = os.path.dirname(os.path.abspath(__file__))
@ -36,8 +36,10 @@ def construct_test(test_query, location, test_target):
def ci_hyperglass_test(
location, target_ipv4, target_ipv6, requires_ipv6_cidr, test_blacklist
):
"""Tests hyperglass backend by making use of requests library to mimic the JS Ajax POST \
performed by the front end."""
"""
Tests hyperglass backend by making use of HTTP3 library to mimic
the JS Ajax POST performed by the front end.
"""
invalid_ip = "this_ain't_an_ip!"
invalid_aspath = ".*"
ipv4_cidr = "1.1.1.0/24"
@ -45,12 +47,13 @@ def ci_hyperglass_test(
ipv6_cidr = "2606:4700:4700::/48"
test_headers = {"Content-Type": "application/json"}
test_endpoint = "http://localhost:5000/lg"
http_client = http3.AsyncClient()
# No Query Type Test
try:
logger.info("Starting No Query Type test...")
test_query = construct_test("", location, target_ipv4)
hg_response = requests.post(
test_endpoint, headers=test_headers, data=test_query
hg_response = http_client.post(
test_endpoint, headers=test_headers, json=test_query
)
if not hg_response.status_code in range(400, 500):
logger.error(hg_response.text)
@ -62,8 +65,8 @@ def ci_hyperglass_test(
try:
logger.info("Starting No Location test...")
test_query = construct_test("bgp_route", "", target_ipv6)
hg_response = requests.post(
test_endpoint, headers=test_headers, data=test_query
hg_response = http_client.post(
test_endpoint, headers=test_headers, json=test_query
)
if not hg_response.status_code in range(400, 500):
logger.error(hg_response.text)
@ -75,8 +78,8 @@ def ci_hyperglass_test(
try:
logger.info("Starting No Target test...")
test_query = construct_test("bgp_route", location, "")
hg_response = requests.post(
test_endpoint, headers=test_headers, data=test_query
hg_response = http_client.post(
test_endpoint, headers=test_headers, json=test_query
)
if not hg_response.status_code in range(400, 500):
logger.error(hg_response.text)
@ -88,8 +91,8 @@ def ci_hyperglass_test(
try:
logger.info("Starting Invalid BGP IPv4 Route test...")
test_query = construct_test("bgp_route", location, invalid_ip)
hg_response = requests.post(
test_endpoint, headers=test_headers, data=test_query
hg_response = http_client.post(
test_endpoint, headers=test_headers, json=test_query
)
if not hg_response.status_code in range(400, 500):
logger.error(hg_response.text)
@ -101,8 +104,8 @@ def ci_hyperglass_test(
try:
logger.info("Starting Requires IPv6 CIDR test...")
test_query = construct_test("bgp_route", requires_ipv6_cidr, ipv6_host)
hg_response = requests.post(
test_endpoint, headers=test_headers, data=test_query
hg_response = http_client.post(
test_endpoint, headers=test_headers, json=test_query
)
if not hg_response.status_code in range(400, 500):
logger.error(hg_response.text)
@ -114,8 +117,8 @@ def ci_hyperglass_test(
try:
logger.info("Starting Invalid BGP Community test...")
test_query = construct_test("bgp_community", location, target_ipv4)
hg_response = requests.post(
test_endpoint, headers=test_headers, data=test_query
hg_response = http_client.post(
test_endpoint, headers=test_headers, json=test_query
)
if not hg_response.status_code in range(400, 500):
logger.error(hg_response.text)
@ -127,8 +130,8 @@ def ci_hyperglass_test(
try:
logger.info("Starting invalid BGP AS_PATH test...")
test_query = construct_test("bgp_aspath", location, invalid_aspath)
hg_response = requests.post(
test_endpoint, headers=test_headers, data=test_query
hg_response = http_client.post(
test_endpoint, headers=test_headers, json=test_query
)
if not hg_response.status_code in range(400, 500):
logger.error(hg_response.text)
@ -140,8 +143,8 @@ def ci_hyperglass_test(
try:
logger.info("Starting Invalid IPv4 Ping test...")
test_query = construct_test("ping", location, ipv4_cidr)
hg_response = requests.post(
test_endpoint, headers=test_headers, data=test_query
hg_response = http_client.post(
test_endpoint, headers=test_headers, json=test_query
)
if not hg_response.status_code in range(400, 500):
logger.error(hg_response.text)
@ -153,8 +156,8 @@ def ci_hyperglass_test(
try:
logger.info("Starting Invalid IPv6 Ping test...")
test_query = construct_test("ping", location, ipv6_cidr)
hg_response = requests.post(
test_endpoint, headers=test_headers, data=test_query
hg_response = http_client.post(
test_endpoint, headers=test_headers, json=test_query
)
if not hg_response.status_code in range(400, 500):
logger.error(hg_response.text)
@ -166,8 +169,8 @@ def ci_hyperglass_test(
try:
logger.info("Starting Blacklist test...")
test_query = construct_test("bgp_route", location, test_blacklist)
hg_response = requests.post(
test_endpoint, headers=test_headers, data=test_query
hg_response = http_client.post(
test_endpoint, headers=test_headers, json=test_query
)
if not hg_response.status_code in range(400, 500):
logger.error(hg_response.text)