From 845952ab8610e54da04d357884fd01e1ed64d225 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 17 Jun 2025 19:35:16 +0200 Subject: [PATCH] users: migrate to clan.nixosTests module --- clanServices/users/flake-module.nix | 22 +++---- clanServices/users/tests/vm/default.nix | 87 ++++++++++--------------- 2 files changed, 45 insertions(+), 64 deletions(-) diff --git a/clanServices/users/flake-module.nix b/clanServices/users/flake-module.nix index 04f431028..adf40791d 100644 --- a/clanServices/users/flake-module.nix +++ b/clanServices/users/flake-module.nix @@ -1,18 +1,16 @@ -{ lib, self, ... }: +{ lib, ... }: +let + module = lib.modules.importApply ./default.nix { }; +in { - clan.modules = { - users = lib.modules.importApply ./default.nix { }; - }; + clan.modules.users = module; perSystem = - { pkgs, ... }: + { ... }: { - checks = lib.optionalAttrs (pkgs.stdenv.isLinux) { - users = import ./tests/vm/default.nix { - inherit pkgs; - clan-core = self; - nixosLib = import (self.inputs.nixpkgs + "/nixos/lib") { }; - }; + clan.nixosTests.users = { + imports = [ ./tests/vm/default.nix ]; + + clan.modules."@clan/users" = module; }; }; - } diff --git a/clanServices/users/tests/vm/default.nix b/clanServices/users/tests/vm/default.nix index 4be9f8c73..002fe6946 100644 --- a/clanServices/users/tests/vm/default.nix +++ b/clanServices/users/tests/vm/default.nix @@ -1,67 +1,50 @@ { - pkgs, - nixosLib, - clan-core, - ... -}: + name = "users"; -nixosLib.runTest ( - { ... }: - { - imports = [ - clan-core.modules.nixosVmTest.clanTest - ]; + clan = { + directory = ./.; + inventory = { + machines.server = { }; - hostPkgs = pkgs; - - name = "users"; - - clan = { - directory = ./.; - modules."@clan/users" = ../../default.nix; - inventory = { - machines.server = { }; - - instances = { - root-password-test = { - module.name = "@clan/users"; - roles.default.machines."server".settings = { - user = "root"; - prompt = false; - }; + instances = { + root-password-test = { + module.name = "@clan/users"; + roles.default.machines."server".settings = { + user = "root"; + prompt = false; }; - user-password-test = { - module.name = "@clan/users"; - roles.default.machines."server".settings = { - user = "testuser"; - prompt = false; - }; + }; + user-password-test = { + module.name = "@clan/users"; + roles.default.machines."server".settings = { + user = "testuser"; + prompt = false; }; }; }; }; + }; - nodes = { - server = { - users.users.testuser.group = "testuser"; - users.groups.testuser = { }; - users.users.testuser.isNormalUser = true; - }; + nodes = { + server = { + users.users.testuser.group = "testuser"; + users.groups.testuser = { }; + users.users.testuser.isNormalUser = true; }; + }; - testScript = '' - start_all() + testScript = '' + start_all() - server.wait_for_unit("multi-user.target") + server.wait_for_unit("multi-user.target") - # Check that the testuser account exists - server.succeed("id testuser") + # Check that the testuser account exists + server.succeed("id testuser") - # Try to log in as the user using the generated password - # TODO: fix - # password = server.succeed("cat /run/clan/vars/user-password/user-password").strip() - # server.succeed(f"echo '{password}' | su - testuser -c 'echo Login successful'") + # Try to log in as the user using the generated password + # TODO: fix + # password = server.succeed("cat /run/clan/vars/user-password/user-password").strip() + # server.succeed(f"echo '{password}' | su - testuser -c 'echo Login successful'") - ''; - } -) + ''; +}