Files
nixpkgs/nixos/tests/mediatomb.nix
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

53 lines
1.4 KiB
Nix

{
name = "mediatomb";
nodes = {
server = {
services.mediatomb = {
enable = true;
serverName = "Gerbera";
interface = "eth1";
openFirewall = true;
mediaDirectories = [
{
path = "/var/lib/gerbera/pictures";
recursive = false;
hidden-files = false;
}
{
path = "/var/lib/gerbera/audio";
recursive = true;
hidden-files = false;
}
];
};
systemd.tmpfiles.rules = [
"d /var/lib/gerbera/pictures 0770 mediatomb mediatomb"
"d /var/lib/gerbera/audio 0770 mediatomb mediatomb"
];
};
client = { };
};
testScript =
{ nodes, ... }:
let
serverIP = nodes.server.networking.primaryIPAddress;
serverIPv6 = nodes.server.networking.primaryIPv6Address;
in
''
start_all()
server.wait_for_unit("mediatomb")
server.wait_until_succeeds("nc -z ${serverIP} 49152")
server.succeed("curl -v --fail http://${serverIP}:49152/")
server.succeed("curl -v --fail http://[${serverIPv6}]:49152/")
client.wait_for_unit("multi-user.target")
page = client.succeed("curl -v --fail http://${serverIP}:49152/")
page = client.succeed("curl -v --fail http://[${serverIPv6}]:49152/")
assert "Gerbera" in page and "MediaTomb" not in page
'';
}