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 nixpkgs.config = config;
20
21 services.unifi = {
22 enable = true;
23 unifiPackage = unifi;
24 openFirewall = false;
25 };
26 };
27
28 testScript = ''
29 server.wait_for_unit("unifi.service")
30 server.wait_until_succeeds("curl -Lk https://localhost:8443 >&2", timeout=300)
31 '';
32 };
33in with pkgs; {
34 unifiLTS = makeAppTest unifiLTS;
35 unifi5 = makeAppTest unifi5;
36 unifi6 = makeAppTest unifi6;
37 unifi7 = makeAppTest unifi7;
38}