inventory test framework: init
Add nixos test module checks/lib/test-inventory-nix accepts new option `inventory` and creates machines accordingly with correct imports
This commit is contained in:
26
checks/dummy-inventory-test/default.nix
Normal file
26
checks/dummy-inventory-test/default.nix
Normal file
@@ -0,0 +1,26 @@
|
||||
(import ../lib/test-inventory.nix) (
|
||||
{ ... }:
|
||||
{
|
||||
name = "dummy-inventory-test";
|
||||
|
||||
inventory = {
|
||||
machines.peer1 = { };
|
||||
machines.admin1 = { };
|
||||
services = {
|
||||
dummy-module.default = {
|
||||
roles.peer.machines = [ "peer1" ];
|
||||
roles.admin.machines = [ "admin1" ];
|
||||
};
|
||||
};
|
||||
modules = {
|
||||
dummy-module = ./dummy-module;
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
admin1.wait_for_unit("dummy-service")
|
||||
peer1.wait_for_unit("dummy-service")
|
||||
'';
|
||||
}
|
||||
)
|
||||
10
checks/dummy-inventory-test/dummy-module/README.md
Normal file
10
checks/dummy-inventory-test/dummy-module/README.md
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
description = "Set up dummy-module"
|
||||
categories = ["System"]
|
||||
features = [ "inventory" ]
|
||||
|
||||
[constraints]
|
||||
roles.admin.min = 1
|
||||
roles.admin.max = 1
|
||||
---
|
||||
|
||||
5
checks/dummy-inventory-test/dummy-module/roles/admin.nix
Normal file
5
checks/dummy-inventory-test/dummy-module/roles/admin.nix
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
imports = [
|
||||
./shared.nix
|
||||
];
|
||||
}
|
||||
5
checks/dummy-inventory-test/dummy-module/roles/peer.nix
Normal file
5
checks/dummy-inventory-test/dummy-module/roles/peer.nix
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
imports = [
|
||||
./shared.nix
|
||||
];
|
||||
}
|
||||
13
checks/dummy-inventory-test/dummy-module/roles/shared.nix
Normal file
13
checks/dummy-inventory-test/dummy-module/roles/shared.nix
Normal file
@@ -0,0 +1,13 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
systemd.services.dummy-service = {
|
||||
enable = true;
|
||||
description = "Dummy service";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
ExecStart = "${pkgs.coreutils}/bin/true";
|
||||
RemainAfterExit = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user