tangled
alpha
login
or
join now
soopy.moe
/
knotserver-module
4
fork
atom
a more proper nixos module for the tangled knotserver
4
fork
atom
overview
issues
pulls
pipelines
module: add a simple test
Cassie Cheung
1 year ago
5636e492
c450e3ea
+34
-1
2 changed files
expand all
collapse all
unified
split
flake.nix
test.nix
+9
-1
flake.nix
···
17
17
};
18
18
};
19
19
20
20
-
outputs = { tangledCore, ... }: {
20
20
+
outputs = { self, tangledCore, nixpkgs }: let
21
21
+
lib = nixpkgs.lib;
22
22
+
testedSystems = ["x86_64-linux" "aarch64-linux"];
23
23
+
forAllSystems = fn: lib.genAttrs testedSystems (system: fn nixpkgs.legacyPackages.${system});
24
24
+
in {
21
25
nixosModules.default = import ./module.nix tangledCore;
26
26
+
27
27
+
checks = forAllSystems (pkgs: {
28
28
+
default = pkgs.callPackage ./test.nix { module = self.nixosModules.default; };
29
29
+
});
22
30
};
23
31
}
+25
test.nix
···
1
1
+
{ testers, module }:
2
2
+
3
3
+
testers.runNixOSTest {
4
4
+
name = "knotserver-basic";
5
5
+
6
6
+
defaults = {
7
7
+
imports = [ module ];
8
8
+
};
9
9
+
10
10
+
nodes.machine = {
11
11
+
services.tangled-knotserver = {
12
12
+
enable = true;
13
13
+
14
14
+
server.listenAddr = "127.0.0.1:5555";
15
15
+
server.hostname = "knot.example.org";
16
16
+
extraConfig.KNOT_SERVER_SECRET = "verysecuresecret";
17
17
+
};
18
18
+
};
19
19
+
20
20
+
testScript = ''
21
21
+
machine.wait_for_unit("knotserver.service")
22
22
+
machine.wait_for_open_port(5555)
23
23
+
machine.succeed('curl -f http://127.0.0.1:5555 | grep "This is a knot server"')
24
24
+
'';
25
25
+
}