diff --git a/tests/test_cli.py b/tests/test_cli.py new file mode 100644 index 0000000..3f68015 --- /dev/null +++ b/tests/test_cli.py @@ -0,0 +1,38 @@ +""" +Tests that we can import and execute the most basic valid test file. +Uses: tests/validYAML.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/validYAML.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/validYAML.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/validYAML.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") \ No newline at end of file diff --git a/tests/test_valid_yaml.py b/tests/test_valid_yaml.py new file mode 100644 index 0000000..b187722 --- /dev/null +++ b/tests/test_valid_yaml.py @@ -0,0 +1,15 @@ +""" +Tests that we can import and execute the most basic valid test file. +Uses: tests/validYAML.yaml +""" +import pytest +import tfscript.cli +from cli_test_helpers import ArgvContext, shell + +class TestValidYaml: + + def test_parseValidFile(self, tmp_path): + """Parse the basic test file.""" + with ArgvContext('tfscript', '--directory', str(tmp_path), + '-d', 'tests/validYAML.yaml'): + tfscript.cli.main()