diff --git a/tests/commands/test_boards.py b/tests/commands/test_boards.py index 7e5d8bc4..94808294 100644 --- a/tests/commands/test_boards.py +++ b/tests/commands/test_boards.py @@ -29,6 +29,12 @@ def test_board_json_output(platformio_setup): assert "teensy30" in boards +def test_board_raw_output(platformio_setup): + result = runner.invoke(boards_cli, ["energia"]) + validate_output(result) + assert "titiva" in result.output + + def test_board_options(platformio_setup): required_opts = set( ["build", "platform", "upload", "name"]) diff --git a/tests/commands/test_list.py b/tests/commands/test_list.py new file mode 100644 index 00000000..679941a4 --- /dev/null +++ b/tests/commands/test_list.py @@ -0,0 +1,33 @@ +# Copyright (C) Ivan Kravets +# See LICENSE for details. + +import json + + +from click.testing import CliRunner + +from platformio.commands.list import cli + +runner = CliRunner() + + +def validate_output(result): + assert result.exit_code == 0 + assert not result.exception + assert "error" not in result.output.lower() + + +def test_list_json_output(): + result = runner.invoke(cli, ["--json-output"]) + validate_output(result) + list_result = json.loads(result.output) + assert isinstance(list_result, list) + assert len(list_result) + platforms = [item['name'] for item in list_result] + assert "titiva" in platforms + + +def test_list_raw_output(): + result = runner.invoke(cli) + validate_output(result) + assert "teensy" in result.output diff --git a/tests/commands/test_search.py b/tests/commands/test_search.py new file mode 100644 index 00000000..b007f0c6 --- /dev/null +++ b/tests/commands/test_search.py @@ -0,0 +1,33 @@ +# Copyright (C) Ivan Kravets +# See LICENSE for details. + +import json + + +from click.testing import CliRunner + +from platformio.commands.search import cli + +runner = CliRunner() + + +def validate_output(result): + assert result.exit_code == 0 + assert not result.exception + assert "error" not in result.output.lower() + + +def test_search_json_output(): + result = runner.invoke(cli, ["arduino", "--json-output"]) + validate_output(result) + search_result = json.loads(result.output) + assert isinstance(search_result, list) + assert len(search_result) + platforms = [item['name'] for item in search_result] + assert "atmelsam" in platforms + + +def test_search_raw_output(): + result = runner.invoke(cli, ["arduino"]) + validate_output(result) + assert "digistump" in result.output diff --git a/tests/commands/test_settings.py b/tests/commands/test_settings.py new file mode 100644 index 00000000..fa003eba --- /dev/null +++ b/tests/commands/test_settings.py @@ -0,0 +1,24 @@ +# Copyright (C) Ivan Kravets +# See LICENSE for details. + + +from click.testing import CliRunner + +from platformio.commands.settings import cli +from platformio import app + +runner = CliRunner() + + +def validate_output(result): + assert result.exit_code == 0 + assert not result.exception + assert "error" not in result.output.lower() + + +def test_settings_check(): + result = runner.invoke(cli, ["get"]) + validate_output(result) + assert len(result.output) + for item in app.DEFAULT_SETTINGS.items(): + assert item[0] in result.output