Skip to content

Commit

Permalink
Always more testing.
Browse files Browse the repository at this point in the history
  • Loading branch information
apognu committed May 15, 2022
1 parent 0398e9f commit f2f1550
Show file tree
Hide file tree
Showing 5 changed files with 75 additions and 9 deletions.
Empty file added tests/__init__.py
Empty file.
13 changes: 13 additions & 0 deletions tests/common.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import functools
from unittest.mock import MagicMock
import mock


def session(func):
@mock.patch("onep.onep.check_session", mock.MagicMock(return_value="dummysession"))
@mock.patch("onep.util.load_session", mock.MagicMock(return_value="dummysession"))
@functools.wraps(func)
def _func(*args, **kwargs):
func(*args, **kwargs)

return _func
54 changes: 54 additions & 0 deletions tests/test_entries.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
import pytest
import mock

from onep.onep import main
from . import common


@common.session
@mock.patch("onep.commands.search.run", return_value=(True, "[]", ""))
def test_search_no_result(a, capsys):
try:
main(["personal", "search", "dummy"])
except SystemExit:
pass

output = capsys.readouterr().err

assert output == ""


ENTRIES = """[{"id": "entry1", "title": "First entry"}, {"id": "entry2", "title": "Second entry"}]"""


@common.session
@mock.patch("onep.commands.search.run", return_value=(True, ENTRIES, ""))
def test_search(a, capsys):
try:
main(["personal", "search", "-t", "dummy"])
except SystemExit:
pass

output = capsys.readouterr().out

assert output.count("\n") == 3
assert "entry1" in output
assert "First entry" in output
assert "entry2" in output
assert "Second entry" in output


@common.session
@mock.patch("onep.commands.search.run", return_value=(True, ENTRIES, ""))
def test_search_filter(a, capsys):
try:
main(["personal", "search", "-t", "dummy", "Second"])
except SystemExit:
pass

output = capsys.readouterr().out

assert output.count("\n") == 2
assert "entry1" not in output
assert "entry2" in output
assert "Second entry" in output
6 changes: 3 additions & 3 deletions tests/test_error.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
import mock

from onep.onep import main
from . import common


@mock.patch("onep.onep.check_session", return_value="dummysession")
@mock.patch("onep.util.load_session", return_value="dummysession")
@common.session
@mock.patch("onep.commands.vaults.run", return_value=(False, "", "dummy error from upstream"))
def test_error(a, b, c, capsys):
def test_error(a, capsys):
with pytest.raises(SystemExit) as e:
main(["personal", "vaults"])

Expand Down
11 changes: 5 additions & 6 deletions tests/test_vaults.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
import mock

from onep.onep import main
from . import common


@mock.patch("onep.onep.check_session", return_value="dummysession")
@mock.patch("onep.util.load_session", return_value="dummysession")
@common.session
@mock.patch("onep.commands.vaults.run", return_value=(True, "{}", ""))
def test_no_vaults(a, b, c, capsys):
def test_no_vaults(a, capsys):
with pytest.raises(SystemExit) as e:
main(["personal", "vaults"])

Expand All @@ -20,10 +20,9 @@ def test_no_vaults(a, b, c, capsys):
TWO_VAULTS_OUTPUT = """[{"id": "vault1", "name": "First vault"}, {"id": "vault2", "name": "Second vault"}]"""


@mock.patch("onep.onep.check_session", return_value="dummysession")
@mock.patch("onep.util.load_session", return_value="dummysession")
@common.session
@mock.patch("onep.commands.vaults.run", return_value=(True, TWO_VAULTS_OUTPUT, ""))
def test_two_vaults(a, b, c, capsys):
def test_two_vaults(a, capsys):
try:
main(["personal", "vaults"])
except SystemExit:
Expand Down

0 comments on commit f2f1550

Please sign in to comment.