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, f"finger {user}@{first_char}")
if len(completion) == 1:
assert completion == partial_hosts[0][1:]
else:
assert completion == [f"{user}@{x}" for x in partial_hosts]
|