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, ...}: {
|
submodule = {name, ...}: {
|
||||||
imports = [ kubenix.modules.submodule ];
|
imports = [ kubenix.modules.submodule ];
|
||||||
|
|
||||||
options = {
|
options.submodule.args = {
|
||||||
args.value = mkOption {
|
value = mkOption {
|
||||||
description = "Submodule value";
|
description = "Submodule value";
|
||||||
type = types.str;
|
type = types.str;
|
||||||
};
|
};
|
||||||
|
|
||||||
args.defaultValue = mkOption {
|
defaultValue = mkOption {
|
||||||
description = "Submodule default value";
|
description = "Submodule default value";
|
||||||
type = types.str;
|
type = types.str;
|
||||||
};
|
};
|
||||||
|
|
@ -32,27 +32,27 @@ in {
|
||||||
description = "Simple submodule test";
|
description = "Simple submodule test";
|
||||||
assertions = [{
|
assertions = [{
|
||||||
message = "should apply defaults by tag1";
|
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";
|
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";
|
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";
|
message = "should apply defaults to all";
|
||||||
assertion =
|
assertion =
|
||||||
instance1.config.args.defaultValue == "value" &&
|
instance1.config.submodule.args.defaultValue == "value" &&
|
||||||
instance2.config.args.defaultValue == "value";
|
instance2.config.submodule.args.defaultValue == "value";
|
||||||
} {
|
} {
|
||||||
message = "instance1 and instance3 should have value of default-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";
|
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";
|
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 = {
|
submodule = {
|
||||||
name = "submodule5";
|
name = "submodule5";
|
||||||
};
|
};
|
||||||
args.value = "custom-value";
|
submodule.args.value = "custom-value";
|
||||||
}];
|
}];
|
||||||
}];
|
}];
|
||||||
|
|
||||||
submodules.defaults = [{
|
submodules.defaults = [{
|
||||||
default.args.defaultValue = mkDefault "value";
|
default.submodule.args.defaultValue = mkDefault "value";
|
||||||
} {
|
} {
|
||||||
tags = ["tag1"];
|
tags = ["tag1"];
|
||||||
default.args.value = mkDefault "value1";
|
default.submodule.args.value = mkDefault "value1";
|
||||||
} {
|
} {
|
||||||
tags = ["tag2"];
|
tags = ["tag2"];
|
||||||
default.args.value = mkDefault "value2";
|
default.submodule.args.value = mkDefault "value2";
|
||||||
} {
|
} {
|
||||||
name = "submodule4";
|
name = "submodule4";
|
||||||
default.args.value = mkDefault "value4";
|
default.submodule.args.value = mkDefault "value4";
|
||||||
} {
|
} {
|
||||||
default = {config, ...}: {
|
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.instance2.submodule = "submodule2";
|
||||||
submodules.instances.instance3 = {
|
submodules.instances.instance3 = {
|
||||||
submodule = "submodule3";
|
submodule = "submodule3";
|
||||||
config.args.defaultValue = "default-value";
|
args.defaultValue = "default-value";
|
||||||
};
|
};
|
||||||
submodules.instances.instance4.submodule = "submodule4";
|
submodules.instances.instance4.submodule = "submodule4";
|
||||||
submodules.instances.instance5.submodule = "submodule5";
|
submodules.instances.instance5.submodule = "submodule5";
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.submodules.instances.instance;
|
cfg = config.submodules.instances.instance;
|
||||||
|
args = cfg.config.submodule.args;
|
||||||
in {
|
in {
|
||||||
imports = with kubenix.modules; [ test submodules ];
|
imports = with kubenix.modules; [ test submodules ];
|
||||||
|
|
||||||
|
|
@ -21,10 +22,10 @@ in {
|
||||||
assertion = cfg.config.submodule.name == "submodule";
|
assertion = cfg.config.submodule.name == "submodule";
|
||||||
} {
|
} {
|
||||||
message = "Should have argument set";
|
message = "Should have argument set";
|
||||||
assertion = cfg.config.args.value == "test";
|
assertion = args.value == "test";
|
||||||
} {
|
} {
|
||||||
message = "Should have submodule name set";
|
message = "Should have submodule name set";
|
||||||
assertion = cfg.config.args.name == "instance";
|
assertion = args.name == "instance";
|
||||||
} {
|
} {
|
||||||
message = "should have tag set";
|
message = "should have tag set";
|
||||||
assertion = elem "tag" (cfg.config.submodule.tags);
|
assertion = elem "tag" (cfg.config.submodule.tags);
|
||||||
|
|
@ -33,30 +34,32 @@ in {
|
||||||
|
|
||||||
submodules.propagate.enable = true;
|
submodules.propagate.enable = true;
|
||||||
submodules.imports = [{
|
submodules.imports = [{
|
||||||
module = {name, ...}: {
|
module = { submodule, ... }: {
|
||||||
imports = [ kubenix.modules.submodule ];
|
imports = [ kubenix.modules.submodule ];
|
||||||
config = {
|
|
||||||
submodule.name = "submodule";
|
options.submodule.args = {
|
||||||
submodule.tags = ["tag"];
|
name = mkOption {
|
||||||
};
|
description = "Submodule name";
|
||||||
options = {
|
type = types.str;
|
||||||
args.value = mkOption {
|
default = submodule.name;
|
||||||
|
};
|
||||||
|
value = mkOption {
|
||||||
description = "Submodule argument";
|
description = "Submodule argument";
|
||||||
type = types.str;
|
type = types.str;
|
||||||
};
|
};
|
||||||
args.name = mkOption {
|
};
|
||||||
description = "Submodule name";
|
|
||||||
type = types.str;
|
config = {
|
||||||
default = name;
|
submodule.name = "submodule";
|
||||||
};
|
submodule.tags = ["tag"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}];
|
}];
|
||||||
|
|
||||||
submodules.instances.instance = {
|
submodules.instances.instance = {
|
||||||
submodule = "submodule";
|
submodule = "submodule";
|
||||||
config = {name, ...}: {
|
args = {
|
||||||
config.args.value = "test";
|
value = "test";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -21,8 +21,8 @@ in {
|
||||||
imports = with kubenix.modules; [ test submodules ];
|
imports = with kubenix.modules; [ test submodules ];
|
||||||
|
|
||||||
test = {
|
test = {
|
||||||
name = "submodules-imports";
|
name = "submodules-versioning";
|
||||||
description = "Submodules imports tests";
|
description = "Submodules versioning test";
|
||||||
assertions = [{
|
assertions = [{
|
||||||
message = "should select exact version";
|
message = "should select exact version";
|
||||||
assertion = inst-exact.version == "1.1.0";
|
assertion = inst-exact.version == "1.1.0";
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue