forked from platformio/platformio-core
Merge pull request #89 from valeros/develop
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
|
||||
|
||||
|
||||
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"])
|
||||
|
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