1import ../make-test-python.nix ({ lib, pkgs, ... }: {
2 name = "netbox";
3
4 meta = with lib.maintainers; {
5 maintainers = [ n0emis ];
6 };
7
8 nodes.machine = { ... }: {
9 services.netbox = {
10 enable = true;
11 secretKeyFile = pkgs.writeText "secret" ''
12 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
13 '';
14 };
15 };
16
17 testScript = ''
18 machine.start()
19 machine.wait_for_unit("netbox.target")
20 machine.wait_until_succeeds("journalctl --since -1m --unit netbox --grep Listening")
21
22 with subtest("Home screen loads"):
23 machine.succeed(
24 "curl -sSfL http://[::1]:8001 | grep '<title>Home | NetBox</title>'"
25 )
26
27 with subtest("Staticfiles are generated"):
28 machine.succeed("test -e /var/lib/netbox/static/netbox.js")
29 '';
30})