From 309c132b636e6f11f4ed793b28a5fdc85362edd3 Mon Sep 17 00:00:00 2001 From: a-kenji Date: Fri, 28 Feb 2025 11:56:38 +0700 Subject: [PATCH] pkgs/cli: Move the test folder inside the python module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- formatter.nix | 8 ++--- pkgs/clan-cli/{tests => clan_cli}/conftest.py | 29 ++++++++------- .../clan-cli/{ => clan_cli}/tests/age_keys.py | 2 +- pkgs/clan-cli/{ => clan_cli}/tests/command.py | 0 ...9B2741C8062D3D3DF1302D8B049E262A5CA255.rev | 0 ...3F0D3827CC473BAEFE4A6B3E910245CD2CCFF9.key | 0 .../tests/data/gnupg-home/pubring.kbx | Bin .../tests/data/gnupg-home/random_seed | Bin .../tests/data/gnupg-home/trustdb.gpg | Bin .../{ => clan_cli}/tests/data/gnupg.conf | 0 .../tests/data/password-store/.gpg-id | 0 .../{ => clan_cli}/tests/data/secrets.yaml | 0 .../tests/data/ssh_host_ed25519_key | 0 .../tests/data/ssh_host_ed25519_key.pub | 0 .../{ => clan_cli}/tests/data/sshd_config | 0 .../{ => clan_cli}/tests/fixture_error.py | 0 .../{ => clan_cli}/tests/fixtures_flakes.py | 13 ++++--- .../{ => clan_cli}/tests/getpwnam-preload.c | 0 .../clan-cli/{ => clan_cli}/tests/git_repo.py | 0 .../clan-cli/{ => clan_cli}/tests/gpg_keys.py | 0 .../{ => clan_cli}/tests/helpers/__init__.py | 0 .../{ => clan_cli}/tests/helpers/cli.py | 0 .../tests/helpers/nixos_config.py | 0 .../{ => clan_cli}/tests/helpers/validator.py | 0 pkgs/clan-cli/{ => clan_cli}/tests/hosts.py | 2 +- .../tests/machines/vm1/default.nix | 0 .../machines/vm_with_secrets/default.nix | 0 .../machines/vm_without_secrets/default.nix | 0 .../{ => clan_cli}/tests/nix_config.py | 0 pkgs/clan-cli/{ => clan_cli}/tests/ports.py | 0 pkgs/clan-cli/{ => clan_cli}/tests/root.py | 2 +- pkgs/clan-cli/{ => clan_cli}/tests/runtime.py | 0 pkgs/clan-cli/{ => clan_cli}/tests/sshd.py | 4 +-- pkgs/clan-cli/{ => clan_cli}/tests/stdout.py | 0 .../{ => clan_cli}/tests/temporary_dir.py | 0 .../tests/test_api_dataclass_compat.py | 2 ++ .../{ => clan_cli}/tests/test_backups.py | 4 +-- .../tests/test_clan_nix_attrset.py | 2 +- .../{ => clan_cli}/tests/test_clan_uri.py | 2 +- .../clan-cli/{ => clan_cli}/tests/test_cli.py | 4 +-- .../{ => clan_cli}/tests/test_create_flake.py | 7 ++-- .../tests/test_deserializers.py | 0 .../{ => clan_cli}/tests/test_dirs.py | 0 .../tests/test_flake/.clan-flake | 0 .../tests/test_flake/fake-module.nix | 0 .../{ => clan_cli}/tests/test_flake/flake.nix | 0 .../test_flake/nixosModules/machine1.nix | 0 .../tests/test_flake_caching.py | 2 +- .../tests/test_flake_with_core/.clan-flake | 0 .../tests/test_flake_with_core/flake.nix | 0 .../test_flake_with_core_and_pass/.clan-flake | 0 .../test_flake_with_core_and_pass/flake.nix | 0 .../.clan-flake | 0 .../flake.nix | 0 .../{ => clan_cli}/tests/test_flakes_cli.py | 6 ++-- .../clan-cli/{ => clan_cli}/tests/test_git.py | 0 .../{ => clan_cli}/tests/test_history_cli.py | 6 ++-- .../tests/test_import_sops_cli.py | 8 ++--- .../{ => clan_cli}/tests/test_inventory.py | 0 .../{ => clan_cli}/tests/test_machines_cli.py | 31 ++++++++-------- .../{ => clan_cli}/tests/test_modules.py | 6 ++-- .../tests/test_patch_inventory.py | 0 .../{ => clan_cli}/tests/test_secrets_cli.py | 10 +++--- .../tests/test_secrets_generate.py | 8 ++--- .../tests/test_secrets_password_store.py | 4 +-- .../tests/test_secrets_upload.py | 6 ++-- .../{ => clan_cli}/tests/test_serializers.py | 0 .../{ => clan_cli}/tests/test_ssh_local.py | 0 .../{ => clan_cli}/tests/test_ssh_remote.py | 0 .../{ => clan_cli}/tests/test_vars.py | 33 ++++++++++-------- .../tests/test_vars_deployment.py | 8 ++--- .../{ => clan_cli}/tests/test_vms_cli.py | 8 ++--- 72 files changed, 117 insertions(+), 100 deletions(-) rename pkgs/clan-cli/{tests => clan_cli}/conftest.py (50%) rename pkgs/clan-cli/{ => clan_cli}/tests/age_keys.py (98%) rename pkgs/clan-cli/{ => clan_cli}/tests/command.py (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/data/gnupg-home/openpgp-revocs.d/9A9B2741C8062D3D3DF1302D8B049E262A5CA255.rev (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/data/gnupg-home/private-keys-v1.d/893F0D3827CC473BAEFE4A6B3E910245CD2CCFF9.key (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/data/gnupg-home/pubring.kbx (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/data/gnupg-home/random_seed (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/data/gnupg-home/trustdb.gpg (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/data/gnupg.conf (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/data/password-store/.gpg-id (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/data/secrets.yaml (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/data/ssh_host_ed25519_key (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/data/ssh_host_ed25519_key.pub (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/data/sshd_config (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/fixture_error.py (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/fixtures_flakes.py (98%) rename pkgs/clan-cli/{ => clan_cli}/tests/getpwnam-preload.c (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/git_repo.py (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/gpg_keys.py (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/helpers/__init__.py (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/helpers/cli.py (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/helpers/nixos_config.py (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/helpers/validator.py (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/hosts.py (92%) rename pkgs/clan-cli/{ => clan_cli}/tests/machines/vm1/default.nix (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/machines/vm_with_secrets/default.nix (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/machines/vm_without_secrets/default.nix (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/nix_config.py (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/ports.py (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/root.py (92%) rename pkgs/clan-cli/{ => clan_cli}/tests/runtime.py (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/sshd.py (98%) rename pkgs/clan-cli/{ => clan_cli}/tests/stdout.py (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/temporary_dir.py (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_api_dataclass_compat.py (99%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_backups.py (74%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_clan_nix_attrset.py (99%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_clan_uri.py (98%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_cli.py (70%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_create_flake.py (95%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_deserializers.py (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_dirs.py (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_flake/.clan-flake (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_flake/fake-module.nix (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_flake/flake.nix (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_flake/nixosModules/machine1.nix (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_flake_caching.py (98%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_flake_with_core/.clan-flake (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_flake_with_core/flake.nix (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_flake_with_core_and_pass/.clan-flake (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_flake_with_core_and_pass/flake.nix (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_flake_with_core_dynamic_machines/.clan-flake (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_flake_with_core_dynamic_machines/flake.nix (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_flakes_cli.py (77%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_git.py (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_history_cli.py (88%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_import_sops_cli.py (92%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_inventory.py (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_machines_cli.py (84%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_modules.py (96%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_patch_inventory.py (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_secrets_cli.py (98%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_secrets_generate.py (94%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_secrets_password_store.py (97%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_secrets_upload.py (93%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_serializers.py (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_ssh_local.py (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_ssh_remote.py (100%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_vars.py (98%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_vars_deployment.py (96%) rename pkgs/clan-cli/{ => clan_cli}/tests/test_vms_cli.py (95%) diff --git a/formatter.nix b/formatter.nix index 3ffe6e2fd..69571e244 100644 --- a/formatter.nix +++ b/formatter.nix @@ -51,10 +51,10 @@ "docs/site/static/asciinema-player/asciinema-player.css" "docs/site/static/asciinema-player/asciinema-player.min.js" "nixosModules/clanCore/vars/secret/sops/eval-tests/populated/vars/my_machine/my_generator/my_secret" - "pkgs/clan-cli/tests/data/gnupg.conf" - "pkgs/clan-cli/tests/data/password-store/.gpg-id" - "pkgs/clan-cli/tests/data/ssh_host_ed25519_key" - "pkgs/clan-cli/tests/data/sshd_config" + "pkgs/clan-cli/clan_cli/tests/data/gnupg.conf" + "pkgs/clan-cli/clan_cli/tests/data/password-store/.gpg-id" + "pkgs/clan-cli/clan_cli/tests/data/ssh_host_ed25519_key" + "pkgs/clan-cli/clan_cli/tests/data/sshd_config" "pkgs/clan-vm-manager/.vscode/lhebendanz.weaudit" "pkgs/clan-vm-manager/bin/clan-vm-manager" "pkgs/distro-packages/vagrant_insecure_key" diff --git a/pkgs/clan-cli/tests/conftest.py b/pkgs/clan-cli/clan_cli/conftest.py similarity index 50% rename from pkgs/clan-cli/tests/conftest.py rename to pkgs/clan-cli/clan_cli/conftest.py index 6cff106a9..12d1b89ff 100644 --- a/pkgs/clan-cli/tests/conftest.py +++ b/pkgs/clan-cli/clan_cli/conftest.py @@ -1,20 +1,23 @@ import pytest + from clan_cli.custom_logger import setup_logging +# collect_ignore = ["./nixpkgs"] + pytest_plugins = [ - "temporary_dir", - "root", - "age_keys", - "gpg_keys", - "git_repo", - "sshd", - "command", - "ports", - "hosts", - "runtime", - "fixtures_flakes", - "stdout", - "nix_config", + "clan_cli.tests.temporary_dir", + "clan_cli.tests.root", + "clan_cli.tests.age_keys", + "clan_cli.tests.gpg_keys", + "clan_cli.tests.git_repo", + "clan_cli.tests.sshd", + "clan_cli.tests.command", + "clan_cli.tests.ports", + "clan_cli.tests.hosts", + "clan_cli.tests.runtime", + "clan_cli.tests.fixtures_flakes", + "clan_cli.tests.stdout", + "clan_cli.tests.nix_config", ] diff --git a/pkgs/clan-cli/tests/age_keys.py b/pkgs/clan-cli/clan_cli/tests/age_keys.py similarity index 98% rename from pkgs/clan-cli/tests/age_keys.py rename to pkgs/clan-cli/clan_cli/tests/age_keys.py index 41162a287..2ee179e12 100644 --- a/pkgs/clan-cli/tests/age_keys.py +++ b/pkgs/clan-cli/clan_cli/tests/age_keys.py @@ -4,7 +4,7 @@ from pathlib import Path import pytest from clan_cli.secrets.folders import sops_secrets_folder -from helpers import cli +from clan_cli.tests.helpers import cli class KeyPair: diff --git a/pkgs/clan-cli/tests/command.py b/pkgs/clan-cli/clan_cli/tests/command.py similarity index 100% rename from pkgs/clan-cli/tests/command.py rename to pkgs/clan-cli/clan_cli/tests/command.py diff --git a/pkgs/clan-cli/tests/data/gnupg-home/openpgp-revocs.d/9A9B2741C8062D3D3DF1302D8B049E262A5CA255.rev b/pkgs/clan-cli/clan_cli/tests/data/gnupg-home/openpgp-revocs.d/9A9B2741C8062D3D3DF1302D8B049E262A5CA255.rev similarity index 100% rename from pkgs/clan-cli/tests/data/gnupg-home/openpgp-revocs.d/9A9B2741C8062D3D3DF1302D8B049E262A5CA255.rev rename to pkgs/clan-cli/clan_cli/tests/data/gnupg-home/openpgp-revocs.d/9A9B2741C8062D3D3DF1302D8B049E262A5CA255.rev diff --git a/pkgs/clan-cli/tests/data/gnupg-home/private-keys-v1.d/893F0D3827CC473BAEFE4A6B3E910245CD2CCFF9.key b/pkgs/clan-cli/clan_cli/tests/data/gnupg-home/private-keys-v1.d/893F0D3827CC473BAEFE4A6B3E910245CD2CCFF9.key similarity index 100% rename from pkgs/clan-cli/tests/data/gnupg-home/private-keys-v1.d/893F0D3827CC473BAEFE4A6B3E910245CD2CCFF9.key rename to pkgs/clan-cli/clan_cli/tests/data/gnupg-home/private-keys-v1.d/893F0D3827CC473BAEFE4A6B3E910245CD2CCFF9.key diff --git a/pkgs/clan-cli/tests/data/gnupg-home/pubring.kbx b/pkgs/clan-cli/clan_cli/tests/data/gnupg-home/pubring.kbx similarity index 100% rename from pkgs/clan-cli/tests/data/gnupg-home/pubring.kbx rename to pkgs/clan-cli/clan_cli/tests/data/gnupg-home/pubring.kbx diff --git a/pkgs/clan-cli/tests/data/gnupg-home/random_seed b/pkgs/clan-cli/clan_cli/tests/data/gnupg-home/random_seed similarity index 100% rename from pkgs/clan-cli/tests/data/gnupg-home/random_seed rename to pkgs/clan-cli/clan_cli/tests/data/gnupg-home/random_seed diff --git a/pkgs/clan-cli/tests/data/gnupg-home/trustdb.gpg b/pkgs/clan-cli/clan_cli/tests/data/gnupg-home/trustdb.gpg similarity index 100% rename from pkgs/clan-cli/tests/data/gnupg-home/trustdb.gpg rename to pkgs/clan-cli/clan_cli/tests/data/gnupg-home/trustdb.gpg diff --git a/pkgs/clan-cli/tests/data/gnupg.conf b/pkgs/clan-cli/clan_cli/tests/data/gnupg.conf similarity index 100% rename from pkgs/clan-cli/tests/data/gnupg.conf rename to pkgs/clan-cli/clan_cli/tests/data/gnupg.conf diff --git a/pkgs/clan-cli/tests/data/password-store/.gpg-id b/pkgs/clan-cli/clan_cli/tests/data/password-store/.gpg-id similarity index 100% rename from pkgs/clan-cli/tests/data/password-store/.gpg-id rename to pkgs/clan-cli/clan_cli/tests/data/password-store/.gpg-id diff --git a/pkgs/clan-cli/tests/data/secrets.yaml b/pkgs/clan-cli/clan_cli/tests/data/secrets.yaml similarity index 100% rename from pkgs/clan-cli/tests/data/secrets.yaml rename to pkgs/clan-cli/clan_cli/tests/data/secrets.yaml diff --git a/pkgs/clan-cli/tests/data/ssh_host_ed25519_key b/pkgs/clan-cli/clan_cli/tests/data/ssh_host_ed25519_key similarity index 100% rename from pkgs/clan-cli/tests/data/ssh_host_ed25519_key rename to pkgs/clan-cli/clan_cli/tests/data/ssh_host_ed25519_key diff --git a/pkgs/clan-cli/tests/data/ssh_host_ed25519_key.pub b/pkgs/clan-cli/clan_cli/tests/data/ssh_host_ed25519_key.pub similarity index 100% rename from pkgs/clan-cli/tests/data/ssh_host_ed25519_key.pub rename to pkgs/clan-cli/clan_cli/tests/data/ssh_host_ed25519_key.pub diff --git a/pkgs/clan-cli/tests/data/sshd_config b/pkgs/clan-cli/clan_cli/tests/data/sshd_config similarity index 100% rename from pkgs/clan-cli/tests/data/sshd_config rename to pkgs/clan-cli/clan_cli/tests/data/sshd_config diff --git a/pkgs/clan-cli/tests/fixture_error.py b/pkgs/clan-cli/clan_cli/tests/fixture_error.py similarity index 100% rename from pkgs/clan-cli/tests/fixture_error.py rename to pkgs/clan-cli/clan_cli/tests/fixture_error.py diff --git a/pkgs/clan-cli/tests/fixtures_flakes.py b/pkgs/clan-cli/clan_cli/tests/fixtures_flakes.py similarity index 98% rename from pkgs/clan-cli/tests/fixtures_flakes.py rename to pkgs/clan-cli/clan_cli/tests/fixtures_flakes.py index aba71fff0..b9475d320 100644 --- a/pkgs/clan-cli/tests/fixtures_flakes.py +++ b/pkgs/clan-cli/clan_cli/tests/fixtures_flakes.py @@ -14,9 +14,10 @@ import pytest from clan_cli.dirs import TemplateType, clan_templates, nixpkgs_source from clan_cli.locked_open import locked_open from clan_cli.nix import nix_test_store -from fixture_error import FixtureError -from root import CLAN_CORE -from temporary_dir import TEMPDIR + +from clan_cli.tests.temporary_dir import TEMPDIR +from clan_cli.tests.fixture_error import FixtureError +from clan_cli.tests.root import CLAN_CORE log = logging.getLogger(__name__) @@ -189,7 +190,8 @@ class ClanFlake: self.path / "machines" / machine_name / "configuration.nix" ) configuration_nix.parent.mkdir(parents=True, exist_ok=True) - configuration_nix.write_text(f""" + configuration_nix.write_text( + f""" {{clan-core, ...}}: {{ imports = [ @@ -197,7 +199,8 @@ class ClanFlake: {imports} ]; }} - """) + """ + ) set_machine_settings(self.path, machine_name, machine_config) sp.run(["git", "add", "."], cwd=self.path, check=True) sp.run( diff --git a/pkgs/clan-cli/tests/getpwnam-preload.c b/pkgs/clan-cli/clan_cli/tests/getpwnam-preload.c similarity index 100% rename from pkgs/clan-cli/tests/getpwnam-preload.c rename to pkgs/clan-cli/clan_cli/tests/getpwnam-preload.c diff --git a/pkgs/clan-cli/tests/git_repo.py b/pkgs/clan-cli/clan_cli/tests/git_repo.py similarity index 100% rename from pkgs/clan-cli/tests/git_repo.py rename to pkgs/clan-cli/clan_cli/tests/git_repo.py diff --git a/pkgs/clan-cli/tests/gpg_keys.py b/pkgs/clan-cli/clan_cli/tests/gpg_keys.py similarity index 100% rename from pkgs/clan-cli/tests/gpg_keys.py rename to pkgs/clan-cli/clan_cli/tests/gpg_keys.py diff --git a/pkgs/clan-cli/tests/helpers/__init__.py b/pkgs/clan-cli/clan_cli/tests/helpers/__init__.py similarity index 100% rename from pkgs/clan-cli/tests/helpers/__init__.py rename to pkgs/clan-cli/clan_cli/tests/helpers/__init__.py diff --git a/pkgs/clan-cli/tests/helpers/cli.py b/pkgs/clan-cli/clan_cli/tests/helpers/cli.py similarity index 100% rename from pkgs/clan-cli/tests/helpers/cli.py rename to pkgs/clan-cli/clan_cli/tests/helpers/cli.py diff --git a/pkgs/clan-cli/tests/helpers/nixos_config.py b/pkgs/clan-cli/clan_cli/tests/helpers/nixos_config.py similarity index 100% rename from pkgs/clan-cli/tests/helpers/nixos_config.py rename to pkgs/clan-cli/clan_cli/tests/helpers/nixos_config.py diff --git a/pkgs/clan-cli/tests/helpers/validator.py b/pkgs/clan-cli/clan_cli/tests/helpers/validator.py similarity index 100% rename from pkgs/clan-cli/tests/helpers/validator.py rename to pkgs/clan-cli/clan_cli/tests/helpers/validator.py diff --git a/pkgs/clan-cli/tests/hosts.py b/pkgs/clan-cli/clan_cli/tests/hosts.py similarity index 92% rename from pkgs/clan-cli/tests/hosts.py rename to pkgs/clan-cli/clan_cli/tests/hosts.py index 5f0b8cf60..7d08b9d59 100644 --- a/pkgs/clan-cli/tests/hosts.py +++ b/pkgs/clan-cli/clan_cli/tests/hosts.py @@ -4,7 +4,7 @@ import pwd import pytest from clan_cli.ssh.host import Host from clan_cli.ssh.host_key import HostKeyCheck -from sshd import Sshd +from clan_cli.tests.sshd import Sshd @pytest.fixture diff --git a/pkgs/clan-cli/tests/machines/vm1/default.nix b/pkgs/clan-cli/clan_cli/tests/machines/vm1/default.nix similarity index 100% rename from pkgs/clan-cli/tests/machines/vm1/default.nix rename to pkgs/clan-cli/clan_cli/tests/machines/vm1/default.nix diff --git a/pkgs/clan-cli/tests/machines/vm_with_secrets/default.nix b/pkgs/clan-cli/clan_cli/tests/machines/vm_with_secrets/default.nix similarity index 100% rename from pkgs/clan-cli/tests/machines/vm_with_secrets/default.nix rename to pkgs/clan-cli/clan_cli/tests/machines/vm_with_secrets/default.nix diff --git a/pkgs/clan-cli/tests/machines/vm_without_secrets/default.nix b/pkgs/clan-cli/clan_cli/tests/machines/vm_without_secrets/default.nix similarity index 100% rename from pkgs/clan-cli/tests/machines/vm_without_secrets/default.nix rename to pkgs/clan-cli/clan_cli/tests/machines/vm_without_secrets/default.nix diff --git a/pkgs/clan-cli/tests/nix_config.py b/pkgs/clan-cli/clan_cli/tests/nix_config.py similarity index 100% rename from pkgs/clan-cli/tests/nix_config.py rename to pkgs/clan-cli/clan_cli/tests/nix_config.py diff --git a/pkgs/clan-cli/tests/ports.py b/pkgs/clan-cli/clan_cli/tests/ports.py similarity index 100% rename from pkgs/clan-cli/tests/ports.py rename to pkgs/clan-cli/clan_cli/tests/ports.py diff --git a/pkgs/clan-cli/tests/root.py b/pkgs/clan-cli/clan_cli/tests/root.py similarity index 92% rename from pkgs/clan-cli/tests/root.py rename to pkgs/clan-cli/clan_cli/tests/root.py index 8593bd5e6..8caada40f 100644 --- a/pkgs/clan-cli/tests/root.py +++ b/pkgs/clan-cli/clan_cli/tests/root.py @@ -8,7 +8,7 @@ PROJECT_ROOT = TEST_ROOT.parent if CLAN_CORE_ := os.environ.get("CLAN_CORE_PATH"): CLAN_CORE = Path(CLAN_CORE_) else: - CLAN_CORE = PROJECT_ROOT.parent.parent + CLAN_CORE = PROJECT_ROOT.parent.parent.parent @pytest.fixture(scope="session") diff --git a/pkgs/clan-cli/tests/runtime.py b/pkgs/clan-cli/clan_cli/tests/runtime.py similarity index 100% rename from pkgs/clan-cli/tests/runtime.py rename to pkgs/clan-cli/clan_cli/tests/runtime.py diff --git a/pkgs/clan-cli/tests/sshd.py b/pkgs/clan-cli/clan_cli/tests/sshd.py similarity index 98% rename from pkgs/clan-cli/tests/sshd.py rename to pkgs/clan-cli/clan_cli/tests/sshd.py index 9245dd96b..caf6414f5 100644 --- a/pkgs/clan-cli/tests/sshd.py +++ b/pkgs/clan-cli/clan_cli/tests/sshd.py @@ -12,8 +12,8 @@ from typing import TYPE_CHECKING import pytest if TYPE_CHECKING: - from command import Command - from ports import PortFunction + from .command import Command + from .ports import PortFunction class SshdError(Exception): diff --git a/pkgs/clan-cli/tests/stdout.py b/pkgs/clan-cli/clan_cli/tests/stdout.py similarity index 100% rename from pkgs/clan-cli/tests/stdout.py rename to pkgs/clan-cli/clan_cli/tests/stdout.py diff --git a/pkgs/clan-cli/tests/temporary_dir.py b/pkgs/clan-cli/clan_cli/tests/temporary_dir.py similarity index 100% rename from pkgs/clan-cli/tests/temporary_dir.py rename to pkgs/clan-cli/clan_cli/tests/temporary_dir.py diff --git a/pkgs/clan-cli/tests/test_api_dataclass_compat.py b/pkgs/clan-cli/clan_cli/tests/test_api_dataclass_compat.py similarity index 99% rename from pkgs/clan-cli/tests/test_api_dataclass_compat.py rename to pkgs/clan-cli/clan_cli/tests/test_api_dataclass_compat.py index 8f63b9722..c8827a4ba 100644 --- a/pkgs/clan-cli/tests/test_api_dataclass_compat.py +++ b/pkgs/clan-cli/clan_cli/tests/test_api_dataclass_compat.py @@ -78,11 +78,13 @@ def load_dataclass_from_file( try: sys.path.insert(0, root_dir) spec = importlib.util.spec_from_file_location(module_name, file_path) + print(spec) if not spec: msg = f"Could not load spec from file: {file_path}" raise ClanError(msg) module = importlib.util.module_from_spec(spec) + print(module) if not module: msg = f"Could not create module: {file_path}" raise ClanError(msg) diff --git a/pkgs/clan-cli/tests/test_backups.py b/pkgs/clan-cli/clan_cli/tests/test_backups.py similarity index 74% rename from pkgs/clan-cli/tests/test_backups.py rename to pkgs/clan-cli/clan_cli/tests/test_backups.py index dd13a0d20..d0c15ff66 100644 --- a/pkgs/clan-cli/tests/test_backups.py +++ b/pkgs/clan-cli/clan_cli/tests/test_backups.py @@ -1,6 +1,6 @@ import pytest -from fixtures_flakes import FlakeForTest -from helpers import cli +from clan_cli.tests.fixtures_flakes import FlakeForTest +from clan_cli.tests.helpers import cli @pytest.mark.impure diff --git a/pkgs/clan-cli/tests/test_clan_nix_attrset.py b/pkgs/clan-cli/clan_cli/tests/test_clan_nix_attrset.py similarity index 99% rename from pkgs/clan-cli/tests/test_clan_nix_attrset.py rename to pkgs/clan-cli/clan_cli/tests/test_clan_nix_attrset.py index 00af21171..eae2a11e0 100644 --- a/pkgs/clan-cli/tests/test_clan_nix_attrset.py +++ b/pkgs/clan-cli/clan_cli/tests/test_clan_nix_attrset.py @@ -19,7 +19,7 @@ from clan_cli.templates import ( get_template, list_templates, ) -from fixtures_flakes import FlakeForTest +from clan_cli.tests.fixtures_flakes import FlakeForTest # Function to write clan attributes to a file diff --git a/pkgs/clan-cli/tests/test_clan_uri.py b/pkgs/clan-cli/clan_cli/tests/test_clan_uri.py similarity index 98% rename from pkgs/clan-cli/tests/test_clan_uri.py rename to pkgs/clan-cli/clan_cli/tests/test_clan_uri.py index d85b61680..34049e0b0 100644 --- a/pkgs/clan-cli/tests/test_clan_uri.py +++ b/pkgs/clan-cli/clan_cli/tests/test_clan_uri.py @@ -3,7 +3,7 @@ from pathlib import Path import pytest from clan_cli.clan_uri import ClanURI from clan_cli.flake import Flake -from fixtures_flakes import ClanFlake +from clan_cli.tests.fixtures_flakes import ClanFlake def test_get_url() -> None: diff --git a/pkgs/clan-cli/tests/test_cli.py b/pkgs/clan-cli/clan_cli/tests/test_cli.py similarity index 70% rename from pkgs/clan-cli/tests/test_cli.py rename to pkgs/clan-cli/clan_cli/tests/test_cli.py index 03b0c5ae1..8e6ee6a9f 100644 --- a/pkgs/clan-cli/tests/test_cli.py +++ b/pkgs/clan-cli/clan_cli/tests/test_cli.py @@ -1,6 +1,6 @@ import pytest -from helpers import cli -from stdout import CaptureOutput +from clan_cli.tests.helpers import cli +from clan_cli.tests.stdout import CaptureOutput def test_help(capture_output: CaptureOutput) -> None: diff --git a/pkgs/clan-cli/tests/test_create_flake.py b/pkgs/clan-cli/clan_cli/tests/test_create_flake.py similarity index 95% rename from pkgs/clan-cli/tests/test_create_flake.py rename to pkgs/clan-cli/clan_cli/tests/test_create_flake.py index ea50c1308..0119f3e0c 100644 --- a/pkgs/clan-cli/tests/test_create_flake.py +++ b/pkgs/clan-cli/clan_cli/tests/test_create_flake.py @@ -5,9 +5,10 @@ from pathlib import Path import pytest from clan_cli.cmd import run from clan_cli.nix import nix_flake_show -from fixtures_flakes import FlakeForTest, substitute -from helpers import cli -from stdout import CaptureOutput + +from clan_cli.tests.fixtures_flakes import FlakeForTest, substitute +from clan_cli.tests.helpers import cli +from clan_cli.tests.stdout import CaptureOutput log = logging.getLogger(__name__) diff --git a/pkgs/clan-cli/tests/test_deserializers.py b/pkgs/clan-cli/clan_cli/tests/test_deserializers.py similarity index 100% rename from pkgs/clan-cli/tests/test_deserializers.py rename to pkgs/clan-cli/clan_cli/tests/test_deserializers.py diff --git a/pkgs/clan-cli/tests/test_dirs.py b/pkgs/clan-cli/clan_cli/tests/test_dirs.py similarity index 100% rename from pkgs/clan-cli/tests/test_dirs.py rename to pkgs/clan-cli/clan_cli/tests/test_dirs.py diff --git a/pkgs/clan-cli/tests/test_flake/.clan-flake b/pkgs/clan-cli/clan_cli/tests/test_flake/.clan-flake similarity index 100% rename from pkgs/clan-cli/tests/test_flake/.clan-flake rename to pkgs/clan-cli/clan_cli/tests/test_flake/.clan-flake diff --git a/pkgs/clan-cli/tests/test_flake/fake-module.nix b/pkgs/clan-cli/clan_cli/tests/test_flake/fake-module.nix similarity index 100% rename from pkgs/clan-cli/tests/test_flake/fake-module.nix rename to pkgs/clan-cli/clan_cli/tests/test_flake/fake-module.nix diff --git a/pkgs/clan-cli/tests/test_flake/flake.nix b/pkgs/clan-cli/clan_cli/tests/test_flake/flake.nix similarity index 100% rename from pkgs/clan-cli/tests/test_flake/flake.nix rename to pkgs/clan-cli/clan_cli/tests/test_flake/flake.nix diff --git a/pkgs/clan-cli/tests/test_flake/nixosModules/machine1.nix b/pkgs/clan-cli/clan_cli/tests/test_flake/nixosModules/machine1.nix similarity index 100% rename from pkgs/clan-cli/tests/test_flake/nixosModules/machine1.nix rename to pkgs/clan-cli/clan_cli/tests/test_flake/nixosModules/machine1.nix diff --git a/pkgs/clan-cli/tests/test_flake_caching.py b/pkgs/clan-cli/clan_cli/tests/test_flake_caching.py similarity index 98% rename from pkgs/clan-cli/tests/test_flake_caching.py rename to pkgs/clan-cli/clan_cli/tests/test_flake_caching.py index 858bcedc3..d31a49dca 100644 --- a/pkgs/clan-cli/tests/test_flake_caching.py +++ b/pkgs/clan-cli/clan_cli/tests/test_flake_caching.py @@ -2,7 +2,7 @@ import logging import pytest from clan_cli.flake import Flake, FlakeCache, FlakeCacheEntry -from fixtures_flakes import ClanFlake +from clan_cli.tests.fixtures_flakes import ClanFlake log = logging.getLogger(__name__) diff --git a/pkgs/clan-cli/tests/test_flake_with_core/.clan-flake b/pkgs/clan-cli/clan_cli/tests/test_flake_with_core/.clan-flake similarity index 100% rename from pkgs/clan-cli/tests/test_flake_with_core/.clan-flake rename to pkgs/clan-cli/clan_cli/tests/test_flake_with_core/.clan-flake diff --git a/pkgs/clan-cli/tests/test_flake_with_core/flake.nix b/pkgs/clan-cli/clan_cli/tests/test_flake_with_core/flake.nix similarity index 100% rename from pkgs/clan-cli/tests/test_flake_with_core/flake.nix rename to pkgs/clan-cli/clan_cli/tests/test_flake_with_core/flake.nix diff --git a/pkgs/clan-cli/tests/test_flake_with_core_and_pass/.clan-flake b/pkgs/clan-cli/clan_cli/tests/test_flake_with_core_and_pass/.clan-flake similarity index 100% rename from pkgs/clan-cli/tests/test_flake_with_core_and_pass/.clan-flake rename to pkgs/clan-cli/clan_cli/tests/test_flake_with_core_and_pass/.clan-flake diff --git a/pkgs/clan-cli/tests/test_flake_with_core_and_pass/flake.nix b/pkgs/clan-cli/clan_cli/tests/test_flake_with_core_and_pass/flake.nix similarity index 100% rename from pkgs/clan-cli/tests/test_flake_with_core_and_pass/flake.nix rename to pkgs/clan-cli/clan_cli/tests/test_flake_with_core_and_pass/flake.nix diff --git a/pkgs/clan-cli/tests/test_flake_with_core_dynamic_machines/.clan-flake b/pkgs/clan-cli/clan_cli/tests/test_flake_with_core_dynamic_machines/.clan-flake similarity index 100% rename from pkgs/clan-cli/tests/test_flake_with_core_dynamic_machines/.clan-flake rename to pkgs/clan-cli/clan_cli/tests/test_flake_with_core_dynamic_machines/.clan-flake diff --git a/pkgs/clan-cli/tests/test_flake_with_core_dynamic_machines/flake.nix b/pkgs/clan-cli/clan_cli/tests/test_flake_with_core_dynamic_machines/flake.nix similarity index 100% rename from pkgs/clan-cli/tests/test_flake_with_core_dynamic_machines/flake.nix rename to pkgs/clan-cli/clan_cli/tests/test_flake_with_core_dynamic_machines/flake.nix diff --git a/pkgs/clan-cli/tests/test_flakes_cli.py b/pkgs/clan-cli/clan_cli/tests/test_flakes_cli.py similarity index 77% rename from pkgs/clan-cli/tests/test_flakes_cli.py rename to pkgs/clan-cli/clan_cli/tests/test_flakes_cli.py index 5ff74a2ef..7aad19526 100644 --- a/pkgs/clan-cli/tests/test_flakes_cli.py +++ b/pkgs/clan-cli/clan_cli/tests/test_flakes_cli.py @@ -1,9 +1,9 @@ from typing import TYPE_CHECKING import pytest -from fixtures_flakes import FlakeForTest -from helpers import cli -from stdout import CaptureOutput +from clan_cli.tests.fixtures_flakes import FlakeForTest +from clan_cli.tests.helpers import cli +from clan_cli.tests.stdout import CaptureOutput if TYPE_CHECKING: pass diff --git a/pkgs/clan-cli/tests/test_git.py b/pkgs/clan-cli/clan_cli/tests/test_git.py similarity index 100% rename from pkgs/clan-cli/tests/test_git.py rename to pkgs/clan-cli/clan_cli/tests/test_git.py diff --git a/pkgs/clan-cli/tests/test_history_cli.py b/pkgs/clan-cli/clan_cli/tests/test_history_cli.py similarity index 88% rename from pkgs/clan-cli/tests/test_history_cli.py rename to pkgs/clan-cli/clan_cli/tests/test_history_cli.py index 76cb57fda..2377fd70d 100644 --- a/pkgs/clan-cli/tests/test_history_cli.py +++ b/pkgs/clan-cli/clan_cli/tests/test_history_cli.py @@ -4,9 +4,9 @@ from typing import TYPE_CHECKING import pytest from clan_cli.dirs import user_history_file from clan_cli.history.add import HistoryEntry -from fixtures_flakes import FlakeForTest -from helpers import cli -from stdout import CaptureOutput +from clan_cli.tests.fixtures_flakes import FlakeForTest +from clan_cli.tests.helpers import cli +from clan_cli.tests.stdout import CaptureOutput if TYPE_CHECKING: pass diff --git a/pkgs/clan-cli/tests/test_import_sops_cli.py b/pkgs/clan-cli/clan_cli/tests/test_import_sops_cli.py similarity index 92% rename from pkgs/clan-cli/tests/test_import_sops_cli.py rename to pkgs/clan-cli/clan_cli/tests/test_import_sops_cli.py index ec0230877..09ca39cd5 100644 --- a/pkgs/clan-cli/tests/test_import_sops_cli.py +++ b/pkgs/clan-cli/clan_cli/tests/test_import_sops_cli.py @@ -2,12 +2,12 @@ from pathlib import Path from typing import TYPE_CHECKING import pytest -from fixtures_flakes import FlakeForTest -from helpers import cli -from stdout import CaptureOutput +from clan_cli.tests.fixtures_flakes import FlakeForTest +from clan_cli.tests.helpers import cli +from clan_cli.tests.stdout import CaptureOutput if TYPE_CHECKING: - from age_keys import KeyPair + from .age_keys import KeyPair def test_import_sops( diff --git a/pkgs/clan-cli/tests/test_inventory.py b/pkgs/clan-cli/clan_cli/tests/test_inventory.py similarity index 100% rename from pkgs/clan-cli/tests/test_inventory.py rename to pkgs/clan-cli/clan_cli/tests/test_inventory.py diff --git a/pkgs/clan-cli/tests/test_machines_cli.py b/pkgs/clan-cli/clan_cli/tests/test_machines_cli.py similarity index 84% rename from pkgs/clan-cli/tests/test_machines_cli.py rename to pkgs/clan-cli/clan_cli/tests/test_machines_cli.py index 4c4db7173..e9ac531d5 100644 --- a/pkgs/clan-cli/tests/test_machines_cli.py +++ b/pkgs/clan-cli/clan_cli/tests/test_machines_cli.py @@ -1,10 +1,11 @@ -import fixtures_flakes import pytest from age_keys import SopsSetup, assert_secrets_file_recipients from clan_cli.inventory import load_inventory_json from clan_cli.secrets.folders import sops_machines_folder -from helpers import cli -from stdout import CaptureOutput + +from clan_cli.tests import fixtures_flakes +from clan_cli.tests.helpers import cli +from clan_cli.tests.stdout import CaptureOutput @pytest.mark.impure @@ -89,9 +90,9 @@ def test_machine_delete( cli.run(set_shared_secret) my_machine_sops_folder = sops_machines_folder(flake.path) / "my-machine" - assert my_machine_sops_folder.is_dir(), ( - "A sops folder for `my-machine` should have been created with its public key" - ) + assert ( + my_machine_sops_folder.is_dir() + ), "A sops folder for `my-machine` should have been created with its public key" # define some vars generator for `my-machine`: config = flake.machines["my-machine"] @@ -109,16 +110,16 @@ def test_machine_delete( cli.run(["vars", "generate", "--flake", str(flake.path), "my-machine"]) my_machine_vars_store = flake.path / "vars/per-machine" / "my-machine" - assert my_machine_vars_store.is_dir(), ( - "A vars directory should have been created for `my-machine`" - ) + assert ( + my_machine_vars_store.is_dir() + ), "A vars directory should have been created for `my-machine`" cli.run(["machines", "delete", "--flake", str(flake.path), "my-machine"]) - assert not my_machine_vars_store.exists(), ( - "The vars directory for `my-machine` should have been deleted" - ) - assert not my_machine_sops_folder.exists(), ( - "The sops folder holding the public key for `my-machine` should have been deleted" - ) + assert ( + not my_machine_vars_store.exists() + ), "The vars directory for `my-machine` should have been deleted" + assert ( + not my_machine_sops_folder.exists() + ), "The sops folder holding the public key for `my-machine` should have been deleted" expected_recipients = [admin_key, machine2_key] assert_secrets_file_recipients(flake.path, shared_secret_name, expected_recipients) diff --git a/pkgs/clan-cli/tests/test_modules.py b/pkgs/clan-cli/clan_cli/tests/test_modules.py similarity index 96% rename from pkgs/clan-cli/tests/test_modules.py rename to pkgs/clan-cli/clan_cli/tests/test_modules.py index fac5ade4b..a1261d276 100644 --- a/pkgs/clan-cli/tests/test_modules.py +++ b/pkgs/clan-cli/clan_cli/tests/test_modules.py @@ -13,14 +13,14 @@ from clan_cli.inventory import ( ) from clan_cli.machines.create import CreateOptions, create_machine from clan_cli.nix import nix_eval, run_no_stdout -from fixtures_flakes import FlakeForTest +from clan_cli.tests.fixtures_flakes import FlakeForTest if TYPE_CHECKING: - from age_keys import KeyPair + from .age_keys import KeyPair # from clan_cli.vars.var import machine_get_fact from clan_cli.machines.machines import Machine as MachineMachine -from helpers import cli +from clan_cli.tests.helpers import cli @pytest.mark.with_core diff --git a/pkgs/clan-cli/tests/test_patch_inventory.py b/pkgs/clan-cli/clan_cli/tests/test_patch_inventory.py similarity index 100% rename from pkgs/clan-cli/tests/test_patch_inventory.py rename to pkgs/clan-cli/clan_cli/tests/test_patch_inventory.py diff --git a/pkgs/clan-cli/tests/test_secrets_cli.py b/pkgs/clan-cli/clan_cli/tests/test_secrets_cli.py similarity index 98% rename from pkgs/clan-cli/tests/test_secrets_cli.py rename to pkgs/clan-cli/clan_cli/tests/test_secrets_cli.py index ec2229b5c..e323ee54d 100644 --- a/pkgs/clan-cli/tests/test_secrets_cli.py +++ b/pkgs/clan-cli/clan_cli/tests/test_secrets_cli.py @@ -9,13 +9,15 @@ from typing import TYPE_CHECKING import pytest from age_keys import assert_secrets_file_recipients from clan_cli.errors import ClanError -from fixtures_flakes import FlakeForTest + from gpg_keys import GpgKey -from helpers import cli -from stdout import CaptureOutput +from clan_cli.secrets.folders import sops_secrets_folder +from clan_cli.tests.fixtures_flakes import FlakeForTest +from clan_cli.tests.helpers import cli +from clan_cli.tests.stdout import CaptureOutput if TYPE_CHECKING: - from age_keys import KeyPair + from .age_keys import KeyPair log = logging.getLogger(__name__) diff --git a/pkgs/clan-cli/tests/test_secrets_generate.py b/pkgs/clan-cli/clan_cli/tests/test_secrets_generate.py similarity index 94% rename from pkgs/clan-cli/tests/test_secrets_generate.py rename to pkgs/clan-cli/clan_cli/tests/test_secrets_generate.py index e6556f25d..a49aa2d71 100644 --- a/pkgs/clan-cli/tests/test_secrets_generate.py +++ b/pkgs/clan-cli/clan_cli/tests/test_secrets_generate.py @@ -7,12 +7,12 @@ from clan_cli.flake import Flake from clan_cli.machines.facts import machine_get_fact from clan_cli.machines.machines import Machine from clan_cli.secrets.folders import sops_secrets_folder -from fixtures_flakes import FlakeForTest -from helpers import cli -from helpers.validator import is_valid_age_key +from clan_cli.tests.fixtures_flakes import FlakeForTest +from clan_cli.tests.helpers import cli +from clan_cli.tests.helpers.validator import is_valid_age_key if TYPE_CHECKING: - from age_keys import KeyPair + from .age_keys import KeyPair @pytest.mark.impure diff --git a/pkgs/clan-cli/tests/test_secrets_password_store.py b/pkgs/clan-cli/clan_cli/tests/test_secrets_password_store.py similarity index 97% rename from pkgs/clan-cli/tests/test_secrets_password_store.py rename to pkgs/clan-cli/clan_cli/tests/test_secrets_password_store.py index 76642fc53..ade387fc1 100644 --- a/pkgs/clan-cli/tests/test_secrets_password_store.py +++ b/pkgs/clan-cli/clan_cli/tests/test_secrets_password_store.py @@ -8,8 +8,8 @@ from clan_cli.machines.facts import machine_get_fact from clan_cli.machines.machines import Machine from clan_cli.nix import nix_shell from clan_cli.ssh.host import Host -from fixtures_flakes import ClanFlake -from helpers import cli +from clan_cli.tests.fixtures_flakes import ClanFlake +from clan_cli.tests.helpers import cli @pytest.mark.impure diff --git a/pkgs/clan-cli/tests/test_secrets_upload.py b/pkgs/clan-cli/clan_cli/tests/test_secrets_upload.py similarity index 93% rename from pkgs/clan-cli/tests/test_secrets_upload.py rename to pkgs/clan-cli/clan_cli/tests/test_secrets_upload.py index 8b3ed7930..4a25c30d0 100644 --- a/pkgs/clan-cli/tests/test_secrets_upload.py +++ b/pkgs/clan-cli/clan_cli/tests/test_secrets_upload.py @@ -2,11 +2,11 @@ from typing import TYPE_CHECKING import pytest from clan_cli.ssh.host import Host -from fixtures_flakes import ClanFlake -from helpers import cli +from clan_cli.tests.fixtures_flakes import ClanFlake +from clan_cli.tests.helpers import cli if TYPE_CHECKING: - from age_keys import KeyPair + from .age_keys import KeyPair @pytest.mark.with_core diff --git a/pkgs/clan-cli/tests/test_serializers.py b/pkgs/clan-cli/clan_cli/tests/test_serializers.py similarity index 100% rename from pkgs/clan-cli/tests/test_serializers.py rename to pkgs/clan-cli/clan_cli/tests/test_serializers.py diff --git a/pkgs/clan-cli/tests/test_ssh_local.py b/pkgs/clan-cli/clan_cli/tests/test_ssh_local.py similarity index 100% rename from pkgs/clan-cli/tests/test_ssh_local.py rename to pkgs/clan-cli/clan_cli/tests/test_ssh_local.py diff --git a/pkgs/clan-cli/tests/test_ssh_remote.py b/pkgs/clan-cli/clan_cli/tests/test_ssh_remote.py similarity index 100% rename from pkgs/clan-cli/tests/test_ssh_remote.py rename to pkgs/clan-cli/clan_cli/tests/test_ssh_remote.py diff --git a/pkgs/clan-cli/tests/test_vars.py b/pkgs/clan-cli/clan_cli/tests/test_vars.py similarity index 98% rename from pkgs/clan-cli/tests/test_vars.py rename to pkgs/clan-cli/clan_cli/tests/test_vars.py index f084b7af6..e6b0d60df 100644 --- a/pkgs/clan-cli/tests/test_vars.py +++ b/pkgs/clan-cli/clan_cli/tests/test_vars.py @@ -4,11 +4,13 @@ import shutil from pathlib import Path import pytest -from age_keys import SopsSetup from clan_cli.errors import ClanError from clan_cli.flake import Flake from clan_cli.machines.machines import Machine from clan_cli.nix import nix_eval, run +from clan_cli.tests.age_keys import SopsSetup +from clan_cli.tests.fixtures_flakes import ClanFlake +from clan_cli.tests.helpers import cli from clan_cli.vars.check import check_vars from clan_cli.vars.generate import Generator, generate_vars_for_machine from clan_cli.vars.get import get_var @@ -17,8 +19,9 @@ from clan_cli.vars.list import stringify_all_vars from clan_cli.vars.public_modules import in_repo from clan_cli.vars.secret_modules import password_store, sops from clan_cli.vars.set import set_var -from fixtures_flakes import ClanFlake -from helpers import cli + +if TYPE_CHECKING: + from .age_keys import KeyPair def test_dependencies_as_files(temp_dir: Path) -> None: @@ -326,9 +329,9 @@ def test_generated_shared_secret_sops( shared_generator["script"] = "echo hello > $out/my_shared_secret" m2_config = flake.machines["machine2"] m2_config["nixpkgs"]["hostPlatform"] = "x86_64-linux" - m2_config["clan"]["core"]["vars"]["generators"]["my_shared_generator"] = ( - shared_generator.copy() - ) + m2_config["clan"]["core"]["vars"]["generators"][ + "my_shared_generator" + ] = shared_generator.copy() flake.refresh() monkeypatch.chdir(flake.path) machine1 = Machine(name="machine1", flake=Flake(str(flake.path))) @@ -769,9 +772,9 @@ def test_migration( my_service = config["clan"]["core"]["facts"]["services"]["my_service"] my_service["public"]["my_value"] = {} my_service["secret"]["my_secret"] = {} - my_service["generator"]["script"] = ( - "echo -n hello > $facts/my_value && echo -n hello > $secrets/my_secret" - ) + my_service["generator"][ + "script" + ] = "echo -n hello > $facts/my_value && echo -n hello > $secrets/my_secret" my_generator = config["clan"]["core"]["vars"]["generators"]["my_generator"] my_generator["files"]["my_value"]["secret"] = False my_generator["files"]["my_secret"]["secret"] = True @@ -840,9 +843,9 @@ def test_fails_when_files_are_left_from_other_backend( regenerate=False, ) # Will raise. It was secret before, but now it's not. - my_secret_generator["files"]["my_secret"]["secret"] = ( - False # secret -> public (NOT OK) - ) + my_secret_generator["files"]["my_secret"][ + "secret" + ] = False # secret -> public (NOT OK) # WIll not raise. It was not secret before, and it's secret now. my_value_generator["files"]["my_value"]["secret"] = True # public -> secret (OK) flake.refresh() @@ -948,13 +951,15 @@ def test_dynamic_invalidation( # this is an abuse custom_nix = flake.path / "machines" / machine.name / "hardware-configuration.nix" - custom_nix.write_text(""" + custom_nix.write_text( + """ { config, ... }: let p = config.clan.core.vars.generators.my_generator.files.my_value.path; in { clan.core.vars.generators.dependent_generator.validation = if builtins.pathExists p then builtins.readFile p else null; } - """) + """ + ) flake.refresh() machine.flush_caches() diff --git a/pkgs/clan-cli/tests/test_vars_deployment.py b/pkgs/clan-cli/clan_cli/tests/test_vars_deployment.py similarity index 96% rename from pkgs/clan-cli/tests/test_vars_deployment.py rename to pkgs/clan-cli/clan_cli/tests/test_vars_deployment.py index f6923c59a..216062037 100644 --- a/pkgs/clan-cli/tests/test_vars_deployment.py +++ b/pkgs/clan-cli/clan_cli/tests/test_vars_deployment.py @@ -3,15 +3,15 @@ import subprocess from contextlib import ExitStack import pytest -from age_keys import SopsSetup from clan_cli import cmd from clan_cli.flake import Flake from clan_cli.machines.machines import Machine from clan_cli.nix import nix_eval, run +from clan_cli.tests.age_keys import SopsSetup +from clan_cli.tests.fixtures_flakes import ClanFlake +from clan_cli.tests.helpers import cli +from clan_cli.tests.nix_config import ConfigItem from clan_cli.vms.run import inspect_vm, spawn_vm -from fixtures_flakes import ClanFlake -from helpers import cli -from nix_config import ConfigItem @pytest.mark.impure diff --git a/pkgs/clan-cli/tests/test_vms_cli.py b/pkgs/clan-cli/clan_cli/tests/test_vms_cli.py similarity index 95% rename from pkgs/clan-cli/tests/test_vms_cli.py rename to pkgs/clan-cli/clan_cli/tests/test_vms_cli.py index 65fd4bb50..e3a7eb99b 100644 --- a/pkgs/clan-cli/tests/test_vms_cli.py +++ b/pkgs/clan-cli/clan_cli/tests/test_vms_cli.py @@ -4,13 +4,13 @@ from typing import TYPE_CHECKING import pytest from clan_cli.flake import Flake from clan_cli.machines.machines import Machine +from clan_cli.tests.fixtures_flakes import ClanFlake, FlakeForTest +from clan_cli.tests.helpers import cli +from clan_cli.tests.stdout import CaptureOutput from clan_cli.vms.run import inspect_vm, spawn_vm -from fixtures_flakes import ClanFlake, FlakeForTest -from helpers import cli -from stdout import CaptureOutput if TYPE_CHECKING: - from age_keys import KeyPair + from .age_keys import KeyPair no_kvm = not Path("/dev/kvm").exists()