Move the `tests` folder to `clan_cli/tests`. As we now want part of our tests to live next to the functions that are tested - tests that are not in the `/tests` module also need access to the configured test fixtures that are exposed by the `pytest_plugins` declaration. The following folder structure doesn't support this model: ``` ├── clan_cli │ ├── api │ │ └── api_init_test.py ├── tests/ │ ├── conftest.py │ └── ... ``` Here `api_init_test.py` even when importing the test functions will not have the fixtures configured. There is a way to configure python to import the fixtures from another [`project/module`](https://docs.pytest.org/en/stable/how-to/fixtures.html#using-fixtures-from-other-projects), but this seems to *generally* be discouraged. So moving the `conftest.py` to the toplevel and the `/tests` folder into the toplevel seems to be a sensible choice choice.
24 lines
467 B
Python
24 lines
467 B
Python
import os
|
|
import pwd
|
|
|
|
import pytest
|
|
from clan_cli.ssh.host import Host
|
|
from clan_cli.ssh.host_key import HostKeyCheck
|
|
from clan_cli.tests.sshd import Sshd
|
|
|
|
|
|
@pytest.fixture
|
|
def hosts(sshd: Sshd) -> list[Host]:
|
|
login = pwd.getpwuid(os.getuid()).pw_name
|
|
group = [
|
|
Host(
|
|
"127.0.0.1",
|
|
port=sshd.port,
|
|
user=login,
|
|
key=sshd.key,
|
|
host_key_check=HostKeyCheck.NONE,
|
|
)
|
|
]
|
|
|
|
return group
|