1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 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]
|