feat(submodules): add test for submodule passthru

This commit is contained in:
Jaka Hudoklin 2019-10-10 13:01:19 +02:00
parent 9ca9c44c92
commit e9dbb01005
No known key found for this signature in database
GPG key ID: D1F18234B07BD6E2
2 changed files with 60 additions and 0 deletions

View file

@ -37,6 +37,7 @@ let
./submodules/defaults.nix
./submodules/versioning.nix
./submodules/exports.nix
./submodules/passthru.nix
];
testing.args = {
inherit images k8sVersion;

View file

@ -0,0 +1,59 @@
{ name, config, lib, kubenix, ... }:
with lib;
let
submodule = { name, ... }: {
imports = [ kubenix.modules.submodule ];
config.submodule = {
name = "subm";
passthru.global.${name} = "true";
};
};
in {
imports = with kubenix.modules; [ test submodules ];
options = {
global = mkOption {
description = "Global value";
type = types.attrs;
default = {};
};
};
config = {
test = {
name = "submodules-passthru";
description = "Submodules passthru test";
assertions = [{
message = "should passthru values if passthru enabled";
assertion = hasAttr "inst1" config.global && config.global.inst1 == "true";
} {
message = "should not passthru values if passthru not enabled";
assertion = !(hasAttr "inst2" config.global);
} {
message = "should passthru by default";
assertion = hasAttr "inst3" config.global && config.global.inst3 == "true";
}];
};
submodules.imports = [{
modules = [submodule];
}];
submodules.instances.inst1 = {
submodule = "subm";
passthru.enable = true;
};
submodules.instances.inst2 = {
submodule = "subm";
passthru.enable = false;
};
submodules.instances.inst3 = {
submodule = "subm";
};
};
}