diff options
Diffstat (limited to 'test/t/test_finger.py')
-rw-r--r-- | test/t/test_finger.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/test/t/test_finger.py b/test/t/test_finger.py new file mode 100644 index 0000000..d765fdd --- /dev/null +++ b/test/t/test_finger.py @@ -0,0 +1,33 @@ +import pytest + +from conftest import assert_complete, partialize + + +class TestFinger: + @pytest.fixture(scope="class") + def users_at(self, bash, output_sort_uniq): + return output_sort_uniq("compgen -u -S @") + + @pytest.mark.complete("finger ") + def test_1(self, bash, completion, users_at): + assert completion == users_at + + @pytest.mark.complete("finger r") + def test_2(self, bash, completion, users_at): + if not any(x.startswith("r") for x in users_at): + pytest.skip("No users starting with r") + assert completion + idx = 1 if len(completion) == 1 else 0 + assert completion == sorted( + x[idx:] for x in users_at if x.startswith("r") + ) + assert not completion.endswith(" ") + + def test_partial_hostname(self, bash, known_hosts): + first_char, partial_hosts = partialize(bash, known_hosts) + user = "test" + completion = assert_complete(bash, "finger %s@%s" % (user, first_char)) + if len(completion) == 1: + assert completion == partial_hosts[0][1:] + else: + assert completion == ["%s@%s" % (user, x) for x in partial_hosts] |