mirror of
https://gitlab.com/TECHNOFAB/nixlets.git
synced 2026-03-24 11:39:28 +01:00
test: add nixlet dependency tests
This commit is contained in:
parent
906cd9db2d
commit
028fb8d43b
6 changed files with 43 additions and 3 deletions
|
|
@ -22,7 +22,6 @@ You can pre-define values for dependency Nixlets like this:
|
||||||
options = {
|
options = {
|
||||||
# options for the current Nixlet
|
# options for the current Nixlet
|
||||||
};
|
};
|
||||||
# overwriting the default of dependency Nixlets (the user can still overwrite this)
|
# overwriting the default of dependency Nixlets (the user can still overwrite this using mkForce for example)
|
||||||
config."postgres".replicaCount = 10;
|
config."postgres".replicaCount = 10;
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
3
tests/fixtures/dependency/default.nix
vendored
Normal file
3
tests/fixtures/dependency/default.nix
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
{nixlet-lib, ...}: {
|
||||||
|
config.nixlet.dependencies."example" = nixlet-lib.mkNixlet ../example;
|
||||||
|
}
|
||||||
6
tests/fixtures/dependency/nixlet.nix
vendored
Normal file
6
tests/fixtures/dependency/nixlet.nix
vendored
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
name = "dep";
|
||||||
|
version = "0.0.1";
|
||||||
|
description = "hello world";
|
||||||
|
defaultProject = "dep";
|
||||||
|
}
|
||||||
5
tests/fixtures/dependency/values.nix
vendored
Normal file
5
tests/fixtures/dependency/values.nix
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
_: {
|
||||||
|
options = {};
|
||||||
|
|
||||||
|
config."example".example = "Hello dependency!";
|
||||||
|
}
|
||||||
3
tests/fixtures/example/default.nix
vendored
Normal file
3
tests/fixtures/example/default.nix
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
{nixlet, ...}: with nixlet; {
|
||||||
|
kubernetes.resources.configMaps."test".data."test" = values.example;
|
||||||
|
}
|
||||||
|
|
@ -3,11 +3,14 @@
|
||||||
ntlib,
|
ntlib,
|
||||||
nixlet-lib,
|
nixlet-lib,
|
||||||
...
|
...
|
||||||
}: {
|
}: let
|
||||||
|
inherit (pkgs.lib) mkForce;
|
||||||
|
in {
|
||||||
suites."Lib Tests" = {
|
suites."Lib Tests" = {
|
||||||
pos = __curPos;
|
pos = __curPos;
|
||||||
tests = let
|
tests = let
|
||||||
nixlet = nixlet-lib.mkNixlet ./fixtures/example;
|
nixlet = nixlet-lib.mkNixlet ./fixtures/example;
|
||||||
|
depNixlet = nixlet-lib.mkNixlet ./fixtures/dependency;
|
||||||
in [
|
in [
|
||||||
{
|
{
|
||||||
name = "mkNixlet fail on nonexistant nixlet.nix";
|
name = "mkNixlet fail on nonexistant nixlet.nix";
|
||||||
|
|
@ -42,6 +45,27 @@
|
||||||
assert_file_contains "${docs}" '"Hello world!"'
|
assert_file_contains "${docs}" '"Hello world!"'
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
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";
|
||||||
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue