#!/usr/bin/env bash

set -eu
set -o pipefail

SCRIPT_DIRECTORY=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )

# Docker settings
export PTERODACTYL_PODMAN_NETWORK="pterodactyl-ansible-modules"

# Cleanup function to delete any docker objects that we might have created
cleanup() {
    echo "Cleaning up..."
    set +e # cleanup, we don't care if some stuff doesn't exist
    podman network rm "$PTERODACTYL_PODMAN_NETWORK" > /dev/null
    echo "Done"
    set -e
    exit
}
trap cleanup INT ERR EXIT

prepare() {
    podman network create $PTERODACTYL_PODMAN_NETWORK
}

run() {
    tox -e integration -- \
        --color -v \
        --controller docker:default --target "docker:default,python=$PYTHON_VERSION" \
        --docker-network $PTERODACTYL_PODMAN_NETWORK  \
        --docker-terminate=always #Change this if you want to debug test targets
}

main() {
    # shellcheck disable=1091
    source "$SCRIPT_DIRECTORY/constants.sh"

    prepare
    run
    cleanup
}

main "$@"
