mirror of
https://github.com/platformio/platformio-core.git
synced 2025-07-30 01:57:13 +02:00
Cover "list", "search" and "settings" commands with tests
This commit is contained in:
@ -29,6 +29,12 @@ def test_board_json_output(platformio_setup):
|
|||||||
assert "teensy30" in boards
|
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):
|
def test_board_options(platformio_setup):
|
||||||
required_opts = set(
|
required_opts = set(
|
||||||
["build", "platform", "upload", "name"])
|
["build", "platform", "upload", "name"])
|
||||||
|
33
tests/commands/test_list.py
Normal file
33
tests/commands/test_list.py
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
# Copyright (C) Ivan Kravets <me@ikravets.com>
|
||||||
|
# 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
|
33
tests/commands/test_search.py
Normal file
33
tests/commands/test_search.py
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
# Copyright (C) Ivan Kravets <me@ikravets.com>
|
||||||
|
# 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
|
24
tests/commands/test_settings.py
Normal file
24
tests/commands/test_settings.py
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
# Copyright (C) Ivan Kravets <me@ikravets.com>
|
||||||
|
# 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
|
Reference in New Issue
Block a user