tfscript/tests/test_cli.py

38 lines
1.3 KiB
Python

"""
Tests that we can import and execute the most basic valid test file.
Uses: tests/basic_test.yaml
"""
import pytest
import tfscript.cli
from cli_test_helpers import ArgvContext, shell
class TestCLI:
def test_debug_opt(self):
"""Is debug argument available?"""
with ArgvContext('tfscript', '-d', 'tests/basic_test.yaml'):
parser = tfscript.cli.parseCLI()
args = parser.parse_args()
assert args.debug == True
def test_dry_run_opt(self):
"""Is dry-run argument available?"""
with ArgvContext('tfscript', '-n', 'tests/basic_test.yaml'):
parser = tfscript.cli.parseCLI()
args = parser.parse_args()
assert args.dry_run == True
def test_directory_opt(self):
"""Use . because it's sure to exist on all platforms."""
with ArgvContext('tfscript', '--directory', '.', 'tests/basic_test.yaml'):
parser = tfscript.cli.parseCLI()
args = parser.parse_args()
assert args.directory == '.'
def test_cli(self):
"""
Does CLI stop execution w/o a filename positional argument?
"""
with pytest.raises(SystemExit):
tfscript.cli.main()
pytest.fail("Should abort without positional filename argument")