Refactor tests with Py.Test's fixtures // Resolve #2

This commit is contained in:
Ivan Kravets
2015-02-21 15:15:00 +02:00
parent a4926f3c28
commit e17ce83499
10 changed files with 94 additions and 140 deletions

View File

@@ -4,13 +4,9 @@
from os import makedirs, getcwd
from os.path import getsize, isdir, isfile, join
from click.testing import CliRunner
from platformio.commands.init import cli
from platformio import exception, util
runner = CliRunner()
def validate_pioproject(pioproject_dir):
pioconf_path = join(pioproject_dir, "platformio.ini")
@@ -19,33 +15,26 @@ def validate_pioproject(pioproject_dir):
join(pioproject_dir, "lib"))
def validate_output(result):
assert result.exit_code == 0
assert not result.exception
assert "error" not in result.output.lower()
assert "Project has been successfully initialized!" in result.output
def test_init_default(platformio_setup):
with runner.isolated_filesystem():
result = runner.invoke(cli)
validate_output(result)
def test_init_default(platformio_setup, clirunner, validate_cliresult):
with clirunner.isolated_filesystem():
result = clirunner.invoke(cli)
validate_cliresult(result)
validate_pioproject(getcwd())
def test_init_ext_folder(platformio_setup):
with runner.isolated_filesystem():
def test_init_ext_folder(platformio_setup, clirunner, validate_cliresult):
with clirunner.isolated_filesystem():
ext_folder_name = "ext_folder"
makedirs(ext_folder_name)
result = runner.invoke(cli, ["-d", ext_folder_name])
validate_output(result)
result = clirunner.invoke(cli, ["-d", ext_folder_name])
validate_cliresult(result)
validate_pioproject(join(getcwd(), ext_folder_name))
def test_init_special_board(platformio_setup):
with runner.isolated_filesystem():
result = runner.invoke(cli, ["-b", "uno"])
validate_output(result)
def test_init_special_board(platformio_setup, clirunner, validate_cliresult):
with clirunner.isolated_filesystem():
result = clirunner.invoke(cli, ["-b", "uno"])
validate_cliresult(result)
validate_pioproject(getcwd())
uno = util.get_boards("uno")
@@ -60,10 +49,12 @@ def test_init_special_board(platformio_setup):
assert config.items("env:autogen_uno") == expected_result
def test_init_disable_auto_uploading(platformio_setup):
with runner.isolated_filesystem():
result = runner.invoke(cli, ["-b", "uno", "--disable-auto-uploading"])
validate_output(result)
def test_init_disable_auto_uploading(platformio_setup, clirunner,
validate_cliresult):
with clirunner.isolated_filesystem():
result = clirunner.invoke(cli,
["-b", "uno", "--disable-auto-uploading"])
validate_cliresult(result)
validate_pioproject(getcwd())
config = util.get_project_config()
expected_result = [
@@ -75,6 +66,6 @@ def test_init_disable_auto_uploading(platformio_setup):
assert config.items("env:autogen_uno") == expected_result
def test_init_incorrect_board():
result = runner.invoke(cli, ["-b", "missed_board"])
def test_init_incorrect_board(clirunner):
result = clirunner.invoke(cli, ["-b", "missed_board"])
assert isinstance(result.exception, exception.UnknownBoard)