diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 3fea2e23d8d6..4716614cd20f 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -713,6 +713,7 @@ in languagetool = handleTest ./languagetool.nix { }; lanraragi = handleTest ./lanraragi.nix { }; latestKernel.login = handleTest ./login.nix { latestKernel = true; }; + lavalink = runTest ./lavalink.nix; leaps = handleTest ./leaps.nix { }; lemmy = handleTest ./lemmy.nix { }; libinput = handleTest ./libinput.nix { }; diff --git a/nixos/tests/lavalink.nix b/nixos/tests/lavalink.nix new file mode 100644 index 000000000000..878f05094190 --- /dev/null +++ b/nixos/tests/lavalink.nix @@ -0,0 +1,43 @@ +{ lib, ... }: + +let + password = "s3cRe!p4SsW0rD"; +in + +{ + name = "lavalink"; + meta.maintainers = with lib.maintainers; [ nanoyaki ]; + + nodes = { + machine = { + services.lavalink = { + enable = true; + port = 1234; + inherit password; + }; + }; + machine2 = + { pkgs, ... }: + { + services.lavalink = { + enable = true; + port = 1235; + environmentFile = "${pkgs.writeText "passwordEnvFile" '' + LAVALINK_SERVER_PASSWORD=${password} + ''}"; + }; + }; + }; + + testScript = '' + start_all() + + machine.wait_for_unit("lavalink.service") + machine.wait_for_open_port(1234) + machine.succeed("curl --header \"User-Id: 1204475253028429844\" --header \"Client-Name: shoukaku/4.1.1\" --header \"Authorization: ${password}\" http://localhost:1234/v4/info --fail -v") + + machine2.wait_for_unit("lavalink.service") + machine2.wait_for_open_port(1235) + machine2.succeed("curl --header \"User-Id: 1204475253028429844\" --header \"Client-Name: shoukaku/4.1.1\" --header \"Authorization: ${password}\" http://localhost:1235/v4/info --fail -v") + ''; +}