at master 1.4 kB view raw
1{ 2 name = "mediatomb"; 3 4 nodes = { 5 server = { 6 services.mediatomb = { 7 enable = true; 8 serverName = "Gerbera"; 9 interface = "eth1"; 10 openFirewall = true; 11 mediaDirectories = [ 12 { 13 path = "/var/lib/gerbera/pictures"; 14 recursive = false; 15 hidden-files = false; 16 } 17 { 18 path = "/var/lib/gerbera/audio"; 19 recursive = true; 20 hidden-files = false; 21 } 22 ]; 23 }; 24 systemd.tmpfiles.rules = [ 25 "d /var/lib/gerbera/pictures 0770 mediatomb mediatomb" 26 "d /var/lib/gerbera/audio 0770 mediatomb mediatomb" 27 ]; 28 }; 29 30 client = { }; 31 }; 32 33 testScript = 34 { nodes, ... }: 35 let 36 serverIP = nodes.server.networking.primaryIPAddress; 37 serverIPv6 = nodes.server.networking.primaryIPv6Address; 38 in 39 '' 40 start_all() 41 42 server.wait_for_unit("mediatomb") 43 server.wait_until_succeeds("nc -z ${serverIP} 49152") 44 server.succeed("curl -v --fail http://${serverIP}:49152/") 45 server.succeed("curl -v --fail http://[${serverIPv6}]:49152/") 46 47 client.wait_for_unit("multi-user.target") 48 page = client.succeed("curl -v --fail http://${serverIP}:49152/") 49 page = client.succeed("curl -v --fail http://[${serverIPv6}]:49152/") 50 assert "Gerbera" in page and "MediaTomb" not in page 51 ''; 52}