96 lines
2.1 KiB
Python
96 lines
2.1 KiB
Python
"""Tests for flow.core.console."""
|
|
|
|
from flow.core.console import ConsoleLogger
|
|
|
|
|
|
def test_console_info(capsys):
|
|
c = ConsoleLogger()
|
|
c.info("hello")
|
|
out = capsys.readouterr().out
|
|
assert "[INFO]" in out
|
|
assert "hello" in out
|
|
|
|
|
|
def test_console_warn(capsys):
|
|
c = ConsoleLogger()
|
|
c.warn("caution")
|
|
out = capsys.readouterr().out
|
|
assert "[WARN]" in out
|
|
assert "caution" in out
|
|
|
|
|
|
def test_console_error(capsys):
|
|
c = ConsoleLogger()
|
|
c.error("bad thing")
|
|
out = capsys.readouterr().out
|
|
assert "[ERROR]" in out
|
|
assert "bad thing" in out
|
|
|
|
|
|
def test_console_success(capsys):
|
|
c = ConsoleLogger()
|
|
c.success("done")
|
|
out = capsys.readouterr().out
|
|
assert "[SUCCESS]" in out
|
|
assert "done" in out
|
|
|
|
|
|
def test_console_step_lifecycle(capsys):
|
|
c = ConsoleLogger()
|
|
c.step_start(1, 3, "Test step")
|
|
c.step_command("echo hi")
|
|
c.step_output("hi")
|
|
c.step_complete("Done")
|
|
out = capsys.readouterr().out
|
|
assert "Step 1/3" in out
|
|
assert "$ echo hi" in out
|
|
assert "Done" in out
|
|
|
|
|
|
def test_console_step_skip(capsys):
|
|
c = ConsoleLogger()
|
|
c.start_time = 0
|
|
c.step_skip("not needed")
|
|
out = capsys.readouterr().out
|
|
assert "Skipped" in out
|
|
|
|
|
|
def test_console_step_fail(capsys):
|
|
c = ConsoleLogger()
|
|
c.start_time = 0
|
|
c.step_fail("exploded")
|
|
out = capsys.readouterr().out
|
|
assert "Failed" in out
|
|
|
|
|
|
def test_console_table(capsys):
|
|
c = ConsoleLogger()
|
|
c.table(["NAME", "VALUE"], [["foo", "bar"], ["baz", "qux"]])
|
|
out = capsys.readouterr().out
|
|
assert "NAME" in out
|
|
assert "foo" in out
|
|
assert "baz" in out
|
|
|
|
|
|
def test_console_table_empty(capsys):
|
|
c = ConsoleLogger()
|
|
c.table(["NAME"], [])
|
|
out = capsys.readouterr().out
|
|
assert out == ""
|
|
|
|
|
|
def test_console_section_header(capsys):
|
|
c = ConsoleLogger()
|
|
c.section_header("Test", "sub")
|
|
out = capsys.readouterr().out
|
|
assert "TEST" in out
|
|
assert "sub" in out
|
|
|
|
|
|
def test_console_plan_header(capsys):
|
|
c = ConsoleLogger()
|
|
c.plan_header("My Plan", 5)
|
|
out = capsys.readouterr().out
|
|
assert "MY PLAN" in out
|
|
assert "5 actions" in out
|