From 6fdddc01887b08a4d472df258aa478996a61c730 Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Tue, 12 Feb 2019 17:40:09 +0100 Subject: [PATCH] feat(test): add simple submodule test --- submodules.nix | 2 +- test/default.nix | 1 + test/submodules/simple.nix | 41 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 test/submodules/simple.nix diff --git a/submodules.nix b/submodules.nix index b8aceff..132dfe1 100644 --- a/submodules.nix +++ b/submodules.nix @@ -67,7 +67,7 @@ let version = mkOption { description = "Module version"; type = types.str; - default = "0.0.0"; + default = null; }; passthru = mkOption { diff --git a/test/default.nix b/test/default.nix index 719b95b..82eb935 100644 --- a/test/default.nix +++ b/test/default.nix @@ -16,6 +16,7 @@ with lib; testing.tests = [ ./k8s/simple.nix ./k8s/deployment.nix + ./submodules/simple.nix ]; } ]; diff --git a/test/submodules/simple.nix b/test/submodules/simple.nix new file mode 100644 index 0000000..c8ae70c --- /dev/null +++ b/test/submodules/simple.nix @@ -0,0 +1,41 @@ +{ config, lib, kubenix, ... }: + +with lib; + +{ + imports = [ + kubenix.submodules + ]; + + test = { + name = "submodules/simple"; + description = "Simple k8s submodule test"; + assertions = [{ + message = "Submodule name is set"; + assertion = config.submodules.instances.empty.name == "empty"; + } { + message = "Submodule version is set"; + assertion = config.submodules.instances.empty.version == null; + } { + message = "Submodule config has submodule definition"; + assertion = config.submodules.instances.empty.config.submodule.name == "empty"; + } { + message = "Should have argument set"; + assertion = config.submodules.instances.empty.config.args.value == "test"; + }]; + }; + + submodules.imports = [{ + module = { + config.submodule.name = "empty"; + options.args.value = mkOption { + description = "Submodule argument"; + type = types.str; + }; + }; + }]; + + submodules.instances.empty = { + config.args.value = "test"; + }; +}