#!/usr/bin/env python3

import argparse
import os
import subprocess

WORK_DIRECTORY = os.getcwd()
E2E_DIRECTORY = f"{WORK_DIRECTORY}/e2e"


def parse_arguments():
    parser = argparse.ArgumentParser(description="Test MAGE E2E, make sure to have your Memgraph instance ready.")
    parser.add_argument("-k", help="Add filter to tests you want to run", type=str, required=False)
    args = parser.parse_args()
    return args


#################################################
#                End to end tests               #
#################################################


def main(test_filter: str = None):
    os.environ["PYTHONPATH"] = E2E_DIRECTORY
    os.chdir(E2E_DIRECTORY)
    command = ["python3", "-m", "pytest", ".", "-vv"]
    if test_filter:
        command.extend(["-k", test_filter])
    subprocess.run(command)


if __name__ == "__main__":
    args = parse_arguments()
    test_filter = args.k
    main(test_filter=test_filter)
