From 0c5e0d3a10a65a331c820279008df7938d2042d4 Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Wed, 20 Mar 2019 20:59:17 +0100 Subject: [PATCH] fix(tests/submodules): use submodule.args instead of args directly --- tests/submodules/defaults.nix | 36 ++++++++++++++++----------------- tests/submodules/simple.nix | 35 +++++++++++++++++--------------- tests/submodules/versioning.nix | 4 ++-- 3 files changed, 39 insertions(+), 36 deletions(-) diff --git a/tests/submodules/defaults.nix b/tests/submodules/defaults.nix index 5d14da7..23715fa 100644 --- a/tests/submodules/defaults.nix +++ b/tests/submodules/defaults.nix @@ -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"; diff --git a/tests/submodules/simple.nix b/tests/submodules/simple.nix index 1454f3b..162f477 100644 --- a/tests/submodules/simple.nix +++ b/tests/submodules/simple.nix @@ -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"; }; }; } diff --git a/tests/submodules/versioning.nix b/tests/submodules/versioning.nix index d876360..511a25c 100644 --- a/tests/submodules/versioning.nix +++ b/tests/submodules/versioning.nix @@ -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";