Loading nixos/tests/all-tests.nix +1 −0 Original line number Diff line number Diff line Loading @@ -1314,6 +1314,7 @@ in qtile = runTestOn [ "x86_64-linux" "aarch64-linux" ] ./qtile/default.nix; qtile-extras = runTestOn [ "x86_64-linux" "aarch64-linux" ] ./qtile-extras/default.nix; quake3 = runTest ./quake3.nix; qui = runTest ./qui.nix; quicktun = runTest ./quicktun.nix; quickwit = runTest ./quickwit.nix; rabbitmq = runTest ./rabbitmq.nix; Loading nixos/tests/qui.nix 0 → 100644 +47 −0 Original line number Diff line number Diff line { lib, ... }: { name = "qui"; meta.maintainers = with lib.maintainers; [ undefined-landmark ]; nodes.machine = { pkgs, ... }: let # We create this secret in the Nix store (making it readable by everyone). # DO NOT DO THIS OUTSIDE OF TESTS!! testSecretFile = pkgs.writeText "session_secret" "not-secret"; in { services.qui = { enable = true; secretFile = testSecretFile; }; # Use port other than default to test if settings options work. specialisation.settingsPort.configuration = { services.qui = { enable = true; secretFile = testSecretFile; settings.port = 7777; }; }; }; testScript = { nodes, ... }: let settingsPort = "${nodes.machine.system.build.toplevel}/specialisation/settingsPort"; in # python '' def test_webui(port): machine.wait_for_unit("qui.service") machine.wait_for_open_port(port) machine.wait_until_succeeds(f"curl --fail http://localhost:{port}") test_webui(7476) machine.succeed("${settingsPort}/bin/switch-to-configuration test") test_webui(7777) ''; } pkgs/by-name/qu/qui/package.nix +9 −5 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ buildGoModule, fetchFromGitHub, stdenvNoCC, nixosTests, nix-update-script, nodejs, pnpm_9, Loading Loading @@ -72,12 +73,15 @@ buildGoModule (finalAttrs: { versionCheckProgramArg = "version"; doInstallCheck = true; passthru.updateScript = nix-update-script { passthru = { updateScript = nix-update-script { extraArgs = [ "--subpackage" "qui-web" ]; }; tests.testService = nixosTests.qui; }; meta = { description = "Modern alternative webUI for qBittorrent, with multi-instance support"; Loading Loading
nixos/tests/all-tests.nix +1 −0 Original line number Diff line number Diff line Loading @@ -1314,6 +1314,7 @@ in qtile = runTestOn [ "x86_64-linux" "aarch64-linux" ] ./qtile/default.nix; qtile-extras = runTestOn [ "x86_64-linux" "aarch64-linux" ] ./qtile-extras/default.nix; quake3 = runTest ./quake3.nix; qui = runTest ./qui.nix; quicktun = runTest ./quicktun.nix; quickwit = runTest ./quickwit.nix; rabbitmq = runTest ./rabbitmq.nix; Loading
nixos/tests/qui.nix 0 → 100644 +47 −0 Original line number Diff line number Diff line { lib, ... }: { name = "qui"; meta.maintainers = with lib.maintainers; [ undefined-landmark ]; nodes.machine = { pkgs, ... }: let # We create this secret in the Nix store (making it readable by everyone). # DO NOT DO THIS OUTSIDE OF TESTS!! testSecretFile = pkgs.writeText "session_secret" "not-secret"; in { services.qui = { enable = true; secretFile = testSecretFile; }; # Use port other than default to test if settings options work. specialisation.settingsPort.configuration = { services.qui = { enable = true; secretFile = testSecretFile; settings.port = 7777; }; }; }; testScript = { nodes, ... }: let settingsPort = "${nodes.machine.system.build.toplevel}/specialisation/settingsPort"; in # python '' def test_webui(port): machine.wait_for_unit("qui.service") machine.wait_for_open_port(port) machine.wait_until_succeeds(f"curl --fail http://localhost:{port}") test_webui(7476) machine.succeed("${settingsPort}/bin/switch-to-configuration test") test_webui(7777) ''; }
pkgs/by-name/qu/qui/package.nix +9 −5 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ buildGoModule, fetchFromGitHub, stdenvNoCC, nixosTests, nix-update-script, nodejs, pnpm_9, Loading Loading @@ -72,12 +73,15 @@ buildGoModule (finalAttrs: { versionCheckProgramArg = "version"; doInstallCheck = true; passthru.updateScript = nix-update-script { passthru = { updateScript = nix-update-script { extraArgs = [ "--subpackage" "qui-web" ]; }; tests.testService = nixosTests.qui; }; meta = { description = "Modern alternative webUI for qBittorrent, with multi-instance support"; Loading