diff --git a/.travis.yml b/.travis.yml index 955c00f..e0cf0d2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,6 +12,7 @@ install: before_script: - bash ./ci/check_code.sh script: + - python3 ./ci/ci_test_prepare.py - python3 ./ci/ci_test.py after_script: - bash ./ci/ci_commit.shs diff --git a/ci/ci_test.py b/ci/ci_test.py index 67f638c..a178fbf 100644 --- a/ci/ci_test.py +++ b/ci/ci_test.py @@ -10,33 +10,6 @@ working_directory = os.path.dirname(os.path.abspath(__file__)) parent_directory = os.path.dirname(working_directory) -def ci_config(): - """Copies test configuration files to usable config files""" - logger.info("Migrating test config files...") - config_dir = os.path.join(parent_directory, "hyperglass/configuration/") - test_files = glob.iglob(os.path.join(working_directory, "*.toml")) - config_files = glob.iglob(os.path.join(config_dir, "*.toml")) - logger.debug(config_dir) - logger.debug(working_directory) - logger.debug(parent_directory) - status = False - for f in config_files: - if os.path.exists(f): - logger.debug(f"{f} already exists") - os.remove(f) - logger.debug(f"Deleted {f}") - for f in test_files: - try: - shutil.copy(f, config_dir) - logger.debug(f"Copied {f}") - logger.info("Successfully migrated test config files") - status = True - except: - logger.error(f"Failed to migrate {f}") - raise - return status - - def construct_test(test_query, location, test_target): """Constructs JSON POST data for test_hyperglass function""" constructed_query = json.dumps( @@ -190,32 +163,7 @@ def ci_hyperglass_test( raise -def flask_dev_server(host, port): - """Starts Flask development server for testing without WSGI/Reverse Proxy""" - try: - sys.path.insert(0, parent_directory) - - from hyperglass import hyperglass - from hyperglass import configuration - from hyperglass import render - - render.css() - logger.info("Starting Flask development server") - hyperglass.app.run(host=host, debug=True, port=port) - except: - logger.error("Exception occurred while trying to start test server...") - raise - - -def ci_prepare(): - if ci_config(): - flask_dev_server("localhost", 5000) - else: - raise - - if __name__ == "__main__": - ci_prepare() ci_hyperglass_test( "pop2", "1.1.1.0/24", diff --git a/ci/ci_test_prepare.py b/ci/ci_test_prepare.py new file mode 100644 index 0000000..f634f4f --- /dev/null +++ b/ci/ci_test_prepare.py @@ -0,0 +1,68 @@ +import os +import sys +import glob +import shutil +import requests +from logzero import logger + +working_directory = os.path.dirname(os.path.abspath(__file__)) +parent_directory = os.path.dirname(working_directory) + + +def ci_config(): + """Copies test configuration files to usable config files""" + logger.info("Migrating test config files...") + config_dir = os.path.join(parent_directory, "hyperglass/configuration/") + test_files = glob.iglob(os.path.join(working_directory, "*.toml")) + config_files = glob.iglob(os.path.join(config_dir, "*.toml")) + logger.debug(config_dir) + logger.debug(working_directory) + logger.debug(parent_directory) + status = False + for f in config_files: + if os.path.exists(f): + logger.debug(f"{f} already exists") + os.remove(f) + logger.debug(f"Deleted {f}") + for f in test_files: + try: + shutil.copy(f, config_dir) + logger.debug(f"Copied {f}") + logger.info("Successfully migrated test config files") + status = True + except: + logger.error(f"Failed to migrate {f}") + raise + return status + + +def construct_test(test_query, location, test_target): + """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""" + try: + sys.path.insert(0, parent_directory) + + from hyperglass import hyperglass + from hyperglass import configuration + from hyperglass import render + + render.css() + logger.info("Starting Flask development server") + hyperglass.app.run(host=host, debug=True, port=port) + except: + logger.error("Exception occurred while trying to start test server...") + raise + + +if __name__ == "__main__": + if ci_config(): + flask_dev_server("localhost", 5000) + else: + raise