Skip to content
Snippets Groups Projects
test_sanity.py 1017 B
Newer Older
dilawar's avatar
dilawar committed
from difflib import SequenceMatcher
dilawar's avatar
dilawar committed
import bitia
dilawar's avatar
dilawar committed
import bitia.config as bconfig
dilawar's avatar
dilawar committed
import bitia.__main__
dilawar's avatar
dilawar committed
def test_sanity(capsys):
    version = bitia.version()
    assert len(version) >= 3, version
dilawar's avatar
dilawar committed

def assert_almost_equal(s1, s2, threshold=0.9):
    assert SequenceMatcher(a=s1, b=s2).ratio() > threshold
dilawar's avatar
dilawar committed
def test_run_repeat(capsys):
    bconfig.set_config("plain", True)
    bitia.__main__.run_user_input("ls -ltr /", rerun=False)
    l1 = capsys.readouterr().out  # reset the internal buffer.
    bitia.__main__.run_user_input("ls -ltr /", rerun=False)
    l2 = capsys.readouterr().out
dilawar's avatar
dilawar committed
    assert_almost_equal(l1, l2, 0.85)
dilawar's avatar
dilawar committed
def test_run_simple(capsys):
    # set the plain-text mode.
    bconfig.set_config("plain", True)
    bitia.__main__.run_user_input("ls -ltr /")
    captured = capsys.readouterr()  # reset the internal buffer.
    l1 = captured.out
    bitia.__main__.run_user_input("ls -ltr /", rerun=True)
    captured = capsys.readouterr()
    l2 = captured.out
dilawar's avatar
dilawar committed
    assert_almost_equal(l1, l2, 0.85)