aboutsummaryrefslogtreecommitdiff
path: root/tests/aiet/test_cli.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/aiet/test_cli.py')
-rw-r--r--tests/aiet/test_cli.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/aiet/test_cli.py b/tests/aiet/test_cli.py
new file mode 100644
index 0000000..e8589fa
--- /dev/null
+++ b/tests/aiet/test_cli.py
@@ -0,0 +1,37 @@
+# SPDX-FileCopyrightText: Copyright 2022, Arm Limited and/or its affiliates.
+# SPDX-License-Identifier: Apache-2.0
+"""Module for testing CLI top command."""
+from typing import Any
+from unittest.mock import ANY
+from unittest.mock import MagicMock
+
+from click.testing import CliRunner
+
+from aiet.cli import cli
+
+
+def test_cli(cli_runner: CliRunner) -> None:
+ """Test CLI top level command."""
+ result = cli_runner.invoke(cli)
+ assert result.exit_code == 0
+ assert "system" in cli.commands
+ assert "application" in cli.commands
+
+
+def test_cli_version(cli_runner: CliRunner) -> None:
+ """Test version option."""
+ result = cli_runner.invoke(cli, ["--version"])
+ assert result.exit_code == 0
+ assert "version" in result.output
+
+
+def test_cli_verbose(cli_runner: CliRunner, monkeypatch: Any) -> None:
+ """Test verbose option."""
+ with monkeypatch.context() as mock_context:
+ mock = MagicMock()
+ # params[1] is the verbose option and we need to replace the
+ # callback with a mock object
+ mock_context.setattr(cli.params[1], "callback", mock)
+ cli_runner.invoke(cli, ["-vvvv"])
+ # 4 is the number -v called earlier
+ mock.assert_called_once_with(ANY, ANY, 4)