nixlets/tests/lib_test.nix

72 lines
1.9 KiB
Nix
Raw Normal View History

{
pkgs,
ntlib,
nixlet-lib,
...
2026-02-09 20:49:54 +01:00
}: let
inherit (pkgs.lib) mkForce;
in {
suites."Lib Tests" = {
pos = __curPos;
tests = let
nixlet = nixlet-lib.mkNixlet ./fixtures/example;
2026-02-09 20:49:54 +01:00
depNixlet = nixlet-lib.mkNixlet ./fixtures/dependency;
in [
{
name = "mkNixlet fail on nonexistant nixlet.nix";
expected = {
success = false;
value = false;
};
actual = builtins.tryEval (nixlet-lib.mkNixlet "/nonexistant").name;
}
{
name = "mkNixlet success";
expected = {
name = "example";
version = "0.0.1";
description = "hello world";
};
actual = {inherit (nixlet) name description version;};
}
{
name = "Nixlet mkDocs";
type = "script";
script = let
docs = nixlet.mkDocs {};
in
# sh
''
${ntlib.helpers.path [pkgs.gnugrep]}
${ntlib.helpers.scriptHelpers}
assert "-f ${docs}" "generated the file"
assert_file_contains "${docs}" '`example`'
assert_file_contains "${docs}" "Some description."
assert_file_contains "${docs}" '"Hello world!"'
'';
}
2026-02-09 20:49:54 +01:00
{
name = "Nixlet dependencies";
expected = "Hello dependency!";
actual = let
evaled = depNixlet.eval {inherit (pkgs.stdenv.hostPlatform) system;};
in
evaled.config.kubernetes.resources.configMaps."test".data."test";
}
{
name = "Nixlet dependency value override";
expected = "Hello override!";
actual = let
evaled = depNixlet.eval {
inherit (pkgs.stdenv.hostPlatform) system;
values = {
"example".example = mkForce "Hello override!";
};
};
in
evaled.config.kubernetes.resources.configMaps."test".data."test";
}
];
};
}