nixpkgs/nixos/tests/lavalink.nix
2025-04-08 20:40:21 +02:00

43 lines
1.1 KiB
Nix

{ 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")
'';
}