|
|
|
"""
|
|
|
|
A set of `invoke` helper commands used for this project.
|
|
|
|
"""
|
|
|
|
from invoke import task
|
|
|
|
|
|
|
|
|
|
|
|
@task
|
|
|
|
def start_app(docs=False, extra=""):
|
|
|
|
"""Starts the app."""
|
|
|
|
print("Start the app")
|
|
|
|
if docs:
|
|
|
|
print(f"Building docs. Docs value: {extra}")
|
|
|
|
|
|
|
|
|
|
|
|
@task
|
|
|
|
def run_unit_tests(c):
|
|
|
|
"""Triggers a local unittest run for the app."""
|
|
|
|
# Pytest will hide color output when it thinks it's running
|
|
|
|
# outside of a terminal therefore pty=True is used.
|
|
|
|
c.run("python3 -m pytest -vvv tests/unit", pty=True)
|
|
|
|
|
|
|
|
|
|
|
|
@task
|
|
|
|
def fix_eof(c):
|
|
|
|
"""Fixes any missing newlines for end of files."""
|
|
|
|
c.run("pre-commit run end-of-file-fixer --all-files", pty=True)
|
|
|
|
|
|
|
|
|
|
|
|
@task
|
|
|
|
def start_rabbit(c):
|
|
|
|
"""Runs the RabbitMQ integration environment."""
|
|
|
|
print("Starting RabbitMQ")
|
|
|
|
start_app(c)
|
|
|
|
c.run("docker compose -f docker-compose-rabbit.yml up -d")
|
|
|
|
|
|
|
|
|
|
|
|
@task
|
|
|
|
def stop_rabbit(c):
|
|
|
|
"""Stops the RabbitMQ integration environent."""
|
|
|
|
print("Stopping RabbitMQ")
|
|
|
|
c.run("docker compose -f docker-compose-rabbit.yml down")
|
|
|
|
|
|
|
|
|
|
|
|
@task
|
|
|
|
def start_redis(c):
|
|
|
|
"""Runs the Redis integration environment."""
|
|
|
|
print("Starting Redis")
|
|
|
|
c.run("docker compose -f docker-compose-redis.yml up -d")
|
|
|
|
|
|
|
|
|
|
|
|
@task
|
|
|
|
def stop_redis(c):
|
|
|
|
"""Stops the Redis integration environent."""
|
|
|
|
print("Stopping Redis")
|
|
|
|
c.run("docker compose -f docker-compose-redis.yml down")
|
|
|
|
|
|
|
|
|
|
|
|
# TODO add docker build, tag, and push command for app
|