kubenix/tests/default.nix

59 lines
1.5 KiB
Nix
Raw Normal View History

2021-05-28 20:26:17 -05:00
{ system ? builtins.currentSystem
, evalModules ? (import ../. { }).evalModules.${system}
}:
2020-04-05 21:25:34 +07:00
2021-05-28 20:26:17 -05:00
{ k8sVersion ? "1.21"
, registry ? throw "Registry url not defined"
2020-04-05 21:25:34 +07:00
, throwError ? true # whether any testing error should throw an error
2021-05-13 17:27:08 -04:00
, enabledTests ? null
}:
2019-02-12 16:22:18 +01:00
let
2021-05-28 20:26:17 -05:00
config = (evalModules {
2019-02-25 17:16:24 +01:00
modules = [
2019-02-12 16:22:18 +01:00
2021-05-28 20:26:17 -05:00
({ kubenix, ... }: { imports = [ kubenix.modules.testing ]; })
({ pkgs, ... }: {
2020-04-05 21:25:34 +07:00
testing = {
name = "kubenix-${k8sVersion}";
throwError = throwError;
enabledTests = enabledTests;
tests = [
./k8s/simple.nix
./k8s/deployment.nix
# ./k8s/crd.nix # flaky
./k8s/defaults.nix
./k8s/order.nix
./k8s/submodule.nix
./k8s/imports.nix
2021-05-13 17:27:08 -04:00
# ./helm/simple.nix
2020-04-05 21:25:34 +07:00
# ./istio/bookinfo.nix # infinite recursion
./submodules/simple.nix
./submodules/defaults.nix
./submodules/versioning.nix
./submodules/exports.nix
./submodules/passthru.nix
];
args = {
2021-05-28 20:26:17 -05:00
images = pkgs.callPackage ./images.nix { };
2020-04-05 21:25:34 +07:00
};
2021-05-28 20:26:17 -05:00
docker.registryUrl = registry;
2020-04-05 21:25:34 +07:00
defaults = [
{
2021-05-13 17:27:08 -04:00
features = [ "k8s" ];
2020-04-05 21:25:34 +07:00
default = {
kubernetes.version = k8sVersion;
};
}
];
};
2021-05-28 20:26:17 -05:00
})
];
2021-05-28 20:26:17 -05:00
2019-03-08 00:39:09 +01:00
}).config;
2021-05-13 17:27:08 -04:00
in
2021-05-28 20:26:17 -05:00
config.testing // { recurseForDerivations = true; }