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:
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
Reference in New Issue
Block a user