compose-viz/tests/test_root_service.py

33 lines
1.1 KiB
Python
Raw Permalink Normal View History

2023-01-10 17:54:06 +01:00
import os
from typer.testing import CliRunner
from compose_viz import cli
runner = CliRunner()
def test_root_service() -> None:
input_path = "examples/voting-app/docker-compose.yml"
output_filename = "compose-viz-test"
default_format = "png"
result = runner.invoke(cli.app, ["-r", "vote", "-o", output_filename, input_path])
assert result.exit_code == 0
assert f"Successfully parsed {input_path}\n" in result.stdout
assert os.path.exists(f"{output_filename}.{default_format}")
os.remove(f"{output_filename}.{default_format}")
def test_root_service_key_error() -> None:
input_path = "examples/voting-app/docker-compose.yml"
output_filename = "compose-viz-test"
default_format = "png"
result = runner.invoke(cli.app, ["-r", "not_exist_service", "-o", output_filename, input_path])
assert result.exit_code == 1
assert result.exception is not None
assert result.exception.args[0] == f"Service 'not_exist_service' not found in given compose file: '{input_path}'"
assert not os.path.exists(f"{output_filename}.{default_format}")