Loading nixos/tests/all-tests.nix +1 −1 Original line number Diff line number Diff line Loading @@ -1393,7 +1393,7 @@ in ulogd = handleTest ./ulogd/ulogd.nix { }; umurmur = handleTest ./umurmur.nix { }; unbound = handleTest ./unbound.nix { }; unifi = handleTest ./unifi.nix { }; unifi = runTest ./unifi.nix; unit-php = runTest ./web-servers/unit-php.nix; unit-perl = handleTest ./web-servers/unit-perl.nix { }; upnp.iptables = handleTest ./upnp.nix { useNftables = false; }; Loading nixos/tests/unifi.nix +27 −42 Original line number Diff line number Diff line # Test UniFi controller { lib, ... }: { system ? builtins.currentSystem, config ? { allowUnfree = true; }, pkgs ? import ../.. { inherit system config; }, }: with import ../lib/testing-python.nix { inherit system pkgs; }; with pkgs.lib; let makeAppTest = unifi: makeTest { name = "unifi-controller-${unifi.version}"; meta = with pkgs.lib.maintainers; { maintainers = [ name = "unifi"; meta.maintainers = with lib.maintainers; [ patryk27 zhaofengli ]; }; nodes.server = { nixpkgs.config = config; node.pkgsReadOnly = false; services.unifi = { enable = true; unifiPackage = unifi; openFirewall = false; }; nodes.machine = { nixpkgs.config.allowUnfree = true; services.unifi.enable = true; }; testScript = '' server.wait_for_unit("unifi.service") server.wait_until_succeeds("curl -Lk https://localhost:8443 >&2", timeout=300) import json start_all() machine.wait_for_unit("unifi.service") machine.wait_for_open_port(8880) status = json.loads(machine.succeed("curl --silent --show-error --fail-with-body http://localhost:8880/status")) assert status["meta"]["rc"] == "ok" ''; }; in with pkgs; { unifi8 = makeAppTest unifi8; } pkgs/by-name/un/unifi/package.nix +22 −26 Original line number Diff line number Diff line { lib, stdenv, stdenvNoCC, dpkg, fetchurl, nixosTests, systemd, autoPatchelfHook, }: stdenv.mkDerivation rec { stdenvNoCC.mkDerivation (finalAttrs: { pname = "unifi-controller"; version = "9.0.114"; version = "9.1.119"; # see https://community.ui.com/releases / https://www.ui.com/download/unifi src = fetchurl { url = "https://dl.ui.com/unifi/${version}/unifi_sysvinit_all.deb"; hash = "sha256-3xumIIzr+tx60kPhPfSs2Kz2iJ39Kt5934Vca/MpUu4="; url = "https://dl.ui.com/unifi/${finalAttrs.version}/unifi_sysvinit_all.deb"; hash = "sha256-YKioJZG8lnVCIh1hrMxFElBKLPHurxWiGJMHKDlX1yE="; }; nativeBuildInputs = [ dpkg ]; nativeBuildInputs = [ dpkg autoPatchelfHook ]; buildInputs = [ systemd ]; installPhase = '' runHook preInstall mkdir -p $out cd ./usr/lib/unifi cp -ar dl lib webapps $out cp -ar usr/lib/unifi/{dl,lib,webapps} $out runHook postInstall ''; postInstall = if stdenv.hostPlatform.system == "x86_64-linux" then '' patchelf --add-needed "${systemd}/lib/libsystemd.so.0" "$out/lib/native/Linux/x86_64/libubnt_sdnotify_jni.so" '' else if stdenv.hostPlatform.system == "aarch64-linux" then '' patchelf --add-needed "${systemd}/lib/libsystemd.so.0" "$out/lib/native/Linux/aarch64/libubnt_sdnotify_jni.so" '' else null; passthru.tests = { unifi = nixosTests.unifi; }; passthru.tests = { inherit (nixosTests) unifi; }; meta = with lib; { homepage = "http://www.ubnt.com/"; homepage = "https://www.ui.com"; description = "Controller for Ubiquiti UniFi access points"; sourceProvenance = with sourceTypes; [ binaryBytecode ]; license = licenses.unfree; platforms = platforms.unix; platforms = [ "x86_64-linux" "aarch64-linux" ]; maintainers = with maintainers; [ globin patryk27 ]; }; } }) Loading
nixos/tests/all-tests.nix +1 −1 Original line number Diff line number Diff line Loading @@ -1393,7 +1393,7 @@ in ulogd = handleTest ./ulogd/ulogd.nix { }; umurmur = handleTest ./umurmur.nix { }; unbound = handleTest ./unbound.nix { }; unifi = handleTest ./unifi.nix { }; unifi = runTest ./unifi.nix; unit-php = runTest ./web-servers/unit-php.nix; unit-perl = handleTest ./web-servers/unit-perl.nix { }; upnp.iptables = handleTest ./upnp.nix { useNftables = false; }; Loading
nixos/tests/unifi.nix +27 −42 Original line number Diff line number Diff line # Test UniFi controller { lib, ... }: { system ? builtins.currentSystem, config ? { allowUnfree = true; }, pkgs ? import ../.. { inherit system config; }, }: with import ../lib/testing-python.nix { inherit system pkgs; }; with pkgs.lib; let makeAppTest = unifi: makeTest { name = "unifi-controller-${unifi.version}"; meta = with pkgs.lib.maintainers; { maintainers = [ name = "unifi"; meta.maintainers = with lib.maintainers; [ patryk27 zhaofengli ]; }; nodes.server = { nixpkgs.config = config; node.pkgsReadOnly = false; services.unifi = { enable = true; unifiPackage = unifi; openFirewall = false; }; nodes.machine = { nixpkgs.config.allowUnfree = true; services.unifi.enable = true; }; testScript = '' server.wait_for_unit("unifi.service") server.wait_until_succeeds("curl -Lk https://localhost:8443 >&2", timeout=300) import json start_all() machine.wait_for_unit("unifi.service") machine.wait_for_open_port(8880) status = json.loads(machine.succeed("curl --silent --show-error --fail-with-body http://localhost:8880/status")) assert status["meta"]["rc"] == "ok" ''; }; in with pkgs; { unifi8 = makeAppTest unifi8; }
pkgs/by-name/un/unifi/package.nix +22 −26 Original line number Diff line number Diff line { lib, stdenv, stdenvNoCC, dpkg, fetchurl, nixosTests, systemd, autoPatchelfHook, }: stdenv.mkDerivation rec { stdenvNoCC.mkDerivation (finalAttrs: { pname = "unifi-controller"; version = "9.0.114"; version = "9.1.119"; # see https://community.ui.com/releases / https://www.ui.com/download/unifi src = fetchurl { url = "https://dl.ui.com/unifi/${version}/unifi_sysvinit_all.deb"; hash = "sha256-3xumIIzr+tx60kPhPfSs2Kz2iJ39Kt5934Vca/MpUu4="; url = "https://dl.ui.com/unifi/${finalAttrs.version}/unifi_sysvinit_all.deb"; hash = "sha256-YKioJZG8lnVCIh1hrMxFElBKLPHurxWiGJMHKDlX1yE="; }; nativeBuildInputs = [ dpkg ]; nativeBuildInputs = [ dpkg autoPatchelfHook ]; buildInputs = [ systemd ]; installPhase = '' runHook preInstall mkdir -p $out cd ./usr/lib/unifi cp -ar dl lib webapps $out cp -ar usr/lib/unifi/{dl,lib,webapps} $out runHook postInstall ''; postInstall = if stdenv.hostPlatform.system == "x86_64-linux" then '' patchelf --add-needed "${systemd}/lib/libsystemd.so.0" "$out/lib/native/Linux/x86_64/libubnt_sdnotify_jni.so" '' else if stdenv.hostPlatform.system == "aarch64-linux" then '' patchelf --add-needed "${systemd}/lib/libsystemd.so.0" "$out/lib/native/Linux/aarch64/libubnt_sdnotify_jni.so" '' else null; passthru.tests = { unifi = nixosTests.unifi; }; passthru.tests = { inherit (nixosTests) unifi; }; meta = with lib; { homepage = "http://www.ubnt.com/"; homepage = "https://www.ui.com"; description = "Controller for Ubiquiti UniFi access points"; sourceProvenance = with sourceTypes; [ binaryBytecode ]; license = licenses.unfree; platforms = platforms.unix; platforms = [ "x86_64-linux" "aarch64-linux" ]; maintainers = with maintainers; [ globin patryk27 ]; }; } })