1# Test UniFi controller
2
3{ system ? builtins.currentSystem
4, config ? { allowUnfree = true; }
5, pkgs ? import ../.. { inherit system config; }
6}:
7
8with import ../lib/testing-python.nix { inherit system pkgs; };
9with pkgs.lib;
10
11let
12 makeAppTest = unifi: makeTest {
13 name = "unifi-controller-${unifi.version}";
14 meta = with pkgs.lib.maintainers; {
15 maintainers = [ patryk27 zhaofengli ];
16 };
17
18 nodes.server = {
19 services.unifi = {
20 enable = true;
21 unifiPackage = unifi;
22 openFirewall = false;
23 };
24 };
25
26 testScript = ''
27 server.wait_for_unit("unifi.service")
28 server.wait_until_succeeds("curl -Lk https://localhost:8443 >&2", timeout=300)
29 '';
30 };
31in with pkgs; {
32 unifiLTS = makeAppTest unifiLTS;
33 unifi5 = makeAppTest unifi5;
34 unifi6 = makeAppTest unifi6;
35 unifi7 = makeAppTest unifi7;
36}