nixos/tests/kanidm: restore eval when calling nixosTests.kanidm directly

instead of `kanidm.passthru.tests` by leveraging `runTest { }.extend`
and `_module.args.<name> = lib.mkDefault <thing>`.
This commit is contained in:
emilylange
2025-08-08 00:16:37 +02:00
parent ce6168bd6d
commit 01c15b8752
4 changed files with 16 additions and 22 deletions

View File

@@ -772,18 +772,8 @@ in
k3s = handleTest ./k3s { }; k3s = handleTest ./k3s { };
kafka = handleTest ./kafka { }; kafka = handleTest ./kafka { };
kanboard = runTest ./web-apps/kanboard.nix; kanboard = runTest ./web-apps/kanboard.nix;
kanidm = kanidm = runTest ./kanidm.nix;
kanidmVersion: kanidm-provisioning = runTest ./kanidm-provisioning.nix;
runTest {
imports = [ ./kanidm.nix ];
_module.args = { inherit kanidmVersion; };
};
kanidm-provisioning =
kanidmVersion:
runTest {
imports = [ ./kanidm-provisioning.nix ];
_module.args = { inherit kanidmVersion; };
};
karma = runTest ./karma.nix; karma = runTest ./karma.nix;
kavita = runTest ./kavita.nix; kavita = runTest ./kavita.nix;
kbd-setfont-decompress = runTest ./kbd-setfont-decompress.nix; kbd-setfont-decompress = runTest ./kbd-setfont-decompress.nix;

View File

@@ -1,4 +1,4 @@
{ kanidmVersion, pkgs, ... }: { kanidmPackage, pkgs, ... }:
let let
certs = import ./common/acme/server/snakeoil-certs.nix; certs = import ./common/acme/server/snakeoil-certs.nix;
serverDomain = certs.domain; serverDomain = certs.domain;
@@ -13,13 +13,13 @@ let
provisionAdminPassword = "very-strong-password-for-admin"; provisionAdminPassword = "very-strong-password-for-admin";
provisionIdmAdminPassword = "very-strong-password-for-idm-admin"; provisionIdmAdminPassword = "very-strong-password-for-idm-admin";
provisionIdmAdminPassword2 = "very-strong-alternative-password-for-idm-admin"; provisionIdmAdminPassword2 = "very-strong-alternative-password-for-idm-admin";
kanidmPackage = pkgs."kanidmWithSecretProvisioning_${kanidmVersion}";
in in
{ {
name = "kanidm-provisioning"; name = "kanidm-provisioning-${kanidmPackage.version}";
meta.maintainers = with pkgs.lib.maintainers; [ oddlama ]; meta.maintainers = with pkgs.lib.maintainers; [ oddlama ];
_module.args.kanidmPackage = pkgs.lib.mkDefault pkgs.kanidmWithSecretProvisioning;
nodes.provision = nodes.provision =
{ pkgs, lib, ... }: { pkgs, lib, ... }:
{ {

View File

@@ -1,4 +1,4 @@
{ kanidmVersion, pkgs, ... }: { kanidmPackage, pkgs, ... }:
let let
certs = import ./common/acme/server/snakeoil-certs.nix; certs = import ./common/acme/server/snakeoil-certs.nix;
serverDomain = certs.domain; serverDomain = certs.domain;
@@ -13,16 +13,16 @@ let
cp ${certs."${serverDomain}".cert} $out/snakeoil.crt cp ${certs."${serverDomain}".cert} $out/snakeoil.crt
cp ${certs."${serverDomain}".key} $out/snakeoil.key cp ${certs."${serverDomain}".key} $out/snakeoil.key
''; '';
kanidmPackage = pkgs."kanidm_${kanidmVersion}";
in in
{ {
name = "kanidm"; name = "kanidm-${kanidmPackage.version}";
meta.maintainers = with pkgs.lib.maintainers; [ meta.maintainers = with pkgs.lib.maintainers; [
Flakebi Flakebi
oddlama oddlama
]; ];
_module.args.kanidmPackage = pkgs.lib.mkDefault pkgs.kanidm;
nodes.server = nodes.server =
{ pkgs, ... }: { pkgs, ... }:
{ {

View File

@@ -133,8 +133,12 @@ rustPlatform.buildRustPackage (finalAttrs: {
passthru = { passthru = {
tests = { tests = {
kanidm = nixosTests.kanidm (versionUnderscored finalAttrs); kanidm = nixosTests.kanidm.extend {
kanidm-provisioning = nixosTests.kanidm-provisioning (versionUnderscored finalAttrs); modules = [ { _module.args.kanidmPackage = finalAttrs.finalPackage; } ];
};
kanidm-provisioning = nixosTests.kanidm-provisioning.extend {
modules = [ { _module.args.kanidmPackage = finalAttrs.finalPackage.withSecretProvisioning; } ];
};
}; };
updateScript = lib.optionals (!enableSecretProvisioning) (nix-update-script { updateScript = lib.optionals (!enableSecretProvisioning) (nix-update-script {