summaryrefslogtreecommitdiff
path: root/test/t/test_sftp.py
blob: a421a4492d795b1d3412bf35dc45463331091394 (plain)
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
34
35
36
37
38
39
40
41
42
43
44
45
46
from itertools import chain

import pytest


class TestSftp:
    @pytest.mark.complete("sftp -Fsp", cwd="sftp")
    def test_1(self, completion):
        assert completion == r"aced\ \ conf"

    @pytest.mark.complete("sftp -", require_cmd=True)
    def test_2(self, completion):
        assert completion

    @pytest.mark.complete("sftp -F config ", cwd="sftp")
    def test_hosts(self, hosts, completion):
        expected = sorted(
            chain(
                hosts,
                # From fixtures/sftp/config
                "gee hut".split(),
                # From fixtures/sftp/known_hosts
                "10.10.10.10 doo ike".split(),
            )
        )
        assert completion == expected

    @pytest.mark.complete(r"sftp -F spaced\ \ conf ", cwd="sftp")
    def test_hosts_spaced_conf(self, hosts, completion):
        expected = sorted(
            chain(
                hosts,
                # From "fixtures/sftp/spaced  conf"
                "gee jar".split(),
                # From fixtures/sftp/known_hosts
                "10.10.10.10 doo ike".split(),
            )
        )
        assert completion == expected

    @pytest.mark.complete("sftp -F")
    def test_capital_f_without_space(self, completion):
        assert completion
        assert not any(
            "option requires an argument -- F" in x for x in completion
        )