pkgs/cli: Move the test folder inside the python module

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.
This commit is contained in:
a-kenji
2025-02-28 11:56:38 +07:00
committed by Johannes Kirschbauer
parent a503c92c3e
commit 309c132b63
72 changed files with 117 additions and 100 deletions

View File

@@ -0,0 +1,23 @@
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