about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAdam Stephens <adam@valkor.net>2023-11-04 21:43:15 -0400
committerAdam Stephens <adam@valkor.net>2023-11-17 08:18:31 -0500
commitaafccbad478cb0719226167691784079eb446b04 (patch)
treebb11b1cceb4d7238ae4ebbc0efd55e89f387ff28
parent02d2a3fbb869fc24d31a33026b4644de8af77c58 (diff)
downloadnixlib-aafccbad478cb0719226167691784079eb446b04.tar
nixlib-aafccbad478cb0719226167691784079eb446b04.tar.gz
nixlib-aafccbad478cb0719226167691784079eb446b04.tar.bz2
nixlib-aafccbad478cb0719226167691784079eb446b04.tar.lz
nixlib-aafccbad478cb0719226167691784079eb446b04.tar.xz
nixlib-aafccbad478cb0719226167691784079eb446b04.tar.zst
nixlib-aafccbad478cb0719226167691784079eb446b04.zip
nixos/slimserver: init service test
-rw-r--r--nixos/tests/all-tests.nix1
-rw-r--r--nixos/tests/slimserver.nix16
-rw-r--r--pkgs/servers/slimserver/default.nix5
3 files changed, 22 insertions, 0 deletions
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 6c127efa4cea..272fe6933d63 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -750,6 +750,7 @@ in {
   signal-desktop = handleTest ./signal-desktop.nix {};
   simple = handleTest ./simple.nix {};
   sing-box = handleTest ./sing-box.nix {};
+  slimserver = handleTest ./slimserver.nix {};
   slurm = handleTest ./slurm.nix {};
   smokeping = handleTest ./smokeping.nix {};
   snapcast = handleTest ./snapcast.nix {};
diff --git a/nixos/tests/slimserver.nix b/nixos/tests/slimserver.nix
new file mode 100644
index 000000000000..09dbf20bd78a
--- /dev/null
+++ b/nixos/tests/slimserver.nix
@@ -0,0 +1,16 @@
+import ./make-test-python.nix ({ pkgs, ...} : {
+  name = "slimserver";
+  meta.maintainers = with pkgs.lib.maintainers; [ adamcstephens ];
+
+  nodes.machine = { ... }: {
+    services.slimserver.enable = true;
+  };
+
+  testScript =
+    ''
+      machine.wait_for_unit("slimserver.service")
+      machine.wait_for_open_port(9000)
+      machine.succeed("curl http://localhost:9000")
+      machine.wait_until_succeeds("journalctl -eu slimserver.service | grep 'Completed dbOptimize Scan'")
+    '';
+})
diff --git a/pkgs/servers/slimserver/default.nix b/pkgs/servers/slimserver/default.nix
index 4e42937a8972..94c01fd8e981 100644
--- a/pkgs/servers/slimserver/default.nix
+++ b/pkgs/servers/slimserver/default.nix
@@ -5,6 +5,7 @@
 , lib
 , makeWrapper
 , monkeysAudio
+, nixosTests
 , perl536Packages
 , sox
 , stdenv
@@ -53,6 +54,10 @@ perlPackages.buildPerlPackage rec {
 
   outputs = [ "out" ];
 
+  passthru.tests = {
+    inherit (nixosTests) slimserver;
+  };
+
   meta = with lib; {
     homepage = "https://github.com/Logitech/slimserver";
     description = "Server for Logitech Squeezebox players. This server is also called Logitech Media Server";