mirror of
https://github.com/TECHNOFAB11/kubenix.git
synced 2025-12-12 16:10:05 +01:00
fix(tests/submodules): use submodule.args instead of args directly
This commit is contained in:
parent
dad2915c44
commit
0c5e0d3a10
3 changed files with 39 additions and 36 deletions
|
|
@ -12,13 +12,13 @@ let
|
|||
submodule = {name, ...}: {
|
||||
imports = [ kubenix.modules.submodule ];
|
||||
|
||||
options = {
|
||||
args.value = mkOption {
|
||||
options.submodule.args = {
|
||||
value = mkOption {
|
||||
description = "Submodule value";
|
||||
type = types.str;
|
||||
};
|
||||
|
||||
args.defaultValue = mkOption {
|
||||
defaultValue = mkOption {
|
||||
description = "Submodule default value";
|
||||
type = types.str;
|
||||
};
|
||||
|
|
@ -32,27 +32,27 @@ in {
|
|||
description = "Simple submodule test";
|
||||
assertions = [{
|
||||
message = "should apply defaults by tag1";
|
||||
assertion = instance1.config.args.value == "value1";
|
||||
assertion = instance1.config.submodule.args.value == "value1";
|
||||
} {
|
||||
message = "should apply defaults by tag2";
|
||||
assertion = instance2.config.args.value == "value2";
|
||||
assertion = instance2.config.submodule.args.value == "value2";
|
||||
} {
|
||||
message = "should apply defaults by tag2";
|
||||
assertion = instance3.config.args.value == "value2";
|
||||
assertion = instance3.config.submodule.args.value == "value2";
|
||||
} {
|
||||
message = "should apply defaults to all";
|
||||
assertion =
|
||||
instance1.config.args.defaultValue == "value" &&
|
||||
instance2.config.args.defaultValue == "value";
|
||||
instance1.config.submodule.args.defaultValue == "value" &&
|
||||
instance2.config.submodule.args.defaultValue == "value";
|
||||
} {
|
||||
message = "instance1 and instance3 should have value of default-value";
|
||||
assertion = instance3.config.args.defaultValue == "default-value";
|
||||
assertion = instance3.config.submodule.args.defaultValue == "default-value";
|
||||
} {
|
||||
message = "should apply defaults by submodule name";
|
||||
assertion = instance4.config.args.value == "value4";
|
||||
assertion = instance4.config.submodule.args.value == "value4";
|
||||
} {
|
||||
message = "should apply defaults by custom condition";
|
||||
assertion = instance5.config.args.defaultValue == "my-custom-value";
|
||||
assertion = instance5.config.submodule.args.defaultValue == "my-custom-value";
|
||||
}];
|
||||
};
|
||||
|
||||
|
|
@ -88,24 +88,24 @@ in {
|
|||
submodule = {
|
||||
name = "submodule5";
|
||||
};
|
||||
args.value = "custom-value";
|
||||
submodule.args.value = "custom-value";
|
||||
}];
|
||||
}];
|
||||
|
||||
submodules.defaults = [{
|
||||
default.args.defaultValue = mkDefault "value";
|
||||
default.submodule.args.defaultValue = mkDefault "value";
|
||||
} {
|
||||
tags = ["tag1"];
|
||||
default.args.value = mkDefault "value1";
|
||||
default.submodule.args.value = mkDefault "value1";
|
||||
} {
|
||||
tags = ["tag2"];
|
||||
default.args.value = mkDefault "value2";
|
||||
default.submodule.args.value = mkDefault "value2";
|
||||
} {
|
||||
name = "submodule4";
|
||||
default.args.value = mkDefault "value4";
|
||||
default.submodule.args.value = mkDefault "value4";
|
||||
} {
|
||||
default = {config, ...}: {
|
||||
args.defaultValue = mkIf (config.args.value == "custom-value") "my-custom-value";
|
||||
submodule.args.defaultValue = mkIf (config.submodule.args.value == "custom-value") "my-custom-value";
|
||||
};
|
||||
}];
|
||||
|
||||
|
|
@ -113,7 +113,7 @@ in {
|
|||
submodules.instances.instance2.submodule = "submodule2";
|
||||
submodules.instances.instance3 = {
|
||||
submodule = "submodule3";
|
||||
config.args.defaultValue = "default-value";
|
||||
args.defaultValue = "default-value";
|
||||
};
|
||||
submodules.instances.instance4.submodule = "submodule4";
|
||||
submodules.instances.instance5.submodule = "submodule5";
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ with lib;
|
|||
|
||||
let
|
||||
cfg = config.submodules.instances.instance;
|
||||
args = cfg.config.submodule.args;
|
||||
in {
|
||||
imports = with kubenix.modules; [ test submodules ];
|
||||
|
||||
|
|
@ -21,10 +22,10 @@ in {
|
|||
assertion = cfg.config.submodule.name == "submodule";
|
||||
} {
|
||||
message = "Should have argument set";
|
||||
assertion = cfg.config.args.value == "test";
|
||||
assertion = args.value == "test";
|
||||
} {
|
||||
message = "Should have submodule name set";
|
||||
assertion = cfg.config.args.name == "instance";
|
||||
assertion = args.name == "instance";
|
||||
} {
|
||||
message = "should have tag set";
|
||||
assertion = elem "tag" (cfg.config.submodule.tags);
|
||||
|
|
@ -33,30 +34,32 @@ in {
|
|||
|
||||
submodules.propagate.enable = true;
|
||||
submodules.imports = [{
|
||||
module = {name, ...}: {
|
||||
module = { submodule, ... }: {
|
||||
imports = [ kubenix.modules.submodule ];
|
||||
config = {
|
||||
submodule.name = "submodule";
|
||||
submodule.tags = ["tag"];
|
||||
};
|
||||
options = {
|
||||
args.value = mkOption {
|
||||
|
||||
options.submodule.args = {
|
||||
name = mkOption {
|
||||
description = "Submodule name";
|
||||
type = types.str;
|
||||
default = submodule.name;
|
||||
};
|
||||
value = mkOption {
|
||||
description = "Submodule argument";
|
||||
type = types.str;
|
||||
};
|
||||
args.name = mkOption {
|
||||
description = "Submodule name";
|
||||
type = types.str;
|
||||
default = name;
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
submodule.name = "submodule";
|
||||
submodule.tags = ["tag"];
|
||||
};
|
||||
};
|
||||
}];
|
||||
|
||||
submodules.instances.instance = {
|
||||
submodule = "submodule";
|
||||
config = {name, ...}: {
|
||||
config.args.value = "test";
|
||||
args = {
|
||||
value = "test";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,8 +21,8 @@ in {
|
|||
imports = with kubenix.modules; [ test submodules ];
|
||||
|
||||
test = {
|
||||
name = "submodules-imports";
|
||||
description = "Submodules imports tests";
|
||||
name = "submodules-versioning";
|
||||
description = "Submodules versioning test";
|
||||
assertions = [{
|
||||
message = "should select exact version";
|
||||
assertion = inst-exact.version == "1.1.0";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue