diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 2f650f36bb0e..edc4b3674763 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -731,6 +731,7 @@ in lidarr = handleTest ./lidarr.nix { }; lightdm = handleTest ./lightdm.nix { }; lighttpd = runTest ./lighttpd.nix; + livekit = runTest ./networking/livekit.nix; limesurvey = handleTest ./limesurvey.nix { }; limine = import ./limine { inherit runTest; }; listmonk = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./listmonk.nix { }; diff --git a/nixos/tests/networking/livekit.nix b/nixos/tests/networking/livekit.nix new file mode 100644 index 000000000000..3f72ee5a050c --- /dev/null +++ b/nixos/tests/networking/livekit.nix @@ -0,0 +1,25 @@ +{ + pkgs, + lib, + ... +}: +{ + name = "livekit"; + meta.maintainers = [ lib.maintainers.quadradical ]; + + nodes.machine = { + services.livekit = { + enable = true; + keyFile = pkgs.writers.writeYAML "keys.yaml" { + key = "f6lQGaHtM5HfgZjIcec3cOCRfiDqIine4CpZZnqdT5cE"; + }; + settings.port = 8000; + }; + }; + + testScript = '' + machine.wait_for_unit("livekit.service") + machine.wait_for_open_port(8000) + machine.succeed("curl 127.0.0.1:8000 -L --fail") + ''; +} diff --git a/pkgs/by-name/li/livekit/package.nix b/pkgs/by-name/li/livekit/package.nix index 4f023ced0b09..35abab93682f 100644 --- a/pkgs/by-name/li/livekit/package.nix +++ b/pkgs/by-name/li/livekit/package.nix @@ -2,6 +2,7 @@ lib, buildGoModule, fetchFromGitHub, + nixosTests, }: buildGoModule rec { @@ -23,6 +24,8 @@ buildGoModule rec { mv $out/bin/server $out/bin/livekit-server ''; + passthru.tests = nixosTests.livekit; + meta = with lib; { description = "End-to-end stack for WebRTC. SFU media server and SDKs"; homepage = "https://livekit.io/";