2022-09-14 18:05:37 +00:00
|
|
|
import ./make-test-python.nix {
|
2020-10-11 12:50:04 +00:00
|
|
|
name = "mediatomb";
|
|
|
|
|
|
|
|
nodes = {
|
2022-09-14 18:05:37 +00:00
|
|
|
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;
|
|
|
|
}
|
|
|
|
];
|
2020-10-11 12:50:04 +00:00
|
|
|
};
|
2022-09-14 18:05:37 +00:00
|
|
|
systemd.tmpfiles.rules = [
|
|
|
|
"d /var/lib/gerbera/pictures 0770 mediatomb mediatomb"
|
|
|
|
"d /var/lib/gerbera/audio 0770 mediatomb mediatomb"
|
|
|
|
];
|
|
|
|
};
|
2020-10-11 12:50:04 +00:00
|
|
|
|
2022-09-14 18:05:37 +00:00
|
|
|
client = {};
|
2020-10-11 12:50:04 +00:00
|
|
|
};
|
|
|
|
|
2024-07-27 06:49:29 +00:00
|
|
|
testScript = { nodes, ... }:
|
|
|
|
let
|
|
|
|
serverIP = nodes.server.networking.primaryIPAddress;
|
|
|
|
serverIPv6 = nodes.server.networking.primaryIPv6Address;
|
|
|
|
in
|
|
|
|
''
|
|
|
|
start_all()
|
2020-10-11 12:50:04 +00:00
|
|
|
|
2024-07-27 06:49:29 +00:00
|
|
|
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/")
|
2020-10-11 12:50:04 +00:00
|
|
|
|
2024-07-27 06:49:29 +00:00
|
|
|
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
|
|
|
|
'';
|
2022-09-14 18:05:37 +00:00
|
|
|
}
|