vuls: init at 0.27.0
[NixPkgs.git] / nixos / tests / mediatomb.nix
blob5718a9a4a29927695fcb1e6aff6b29cd13111b06
1 import ./make-test-python.nix {
2   name = "mediatomb";
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     };
30     client = {};
31   };
33   testScript = { nodes, ... }:
34     let
35       serverIP = nodes.server.networking.primaryIPAddress;
36       serverIPv6 = nodes.server.networking.primaryIPv6Address;
37     in
38     ''
39       start_all()
41       server.wait_for_unit("mediatomb")
42       server.wait_until_succeeds("nc -z ${serverIP} 49152")
43       server.succeed("curl -v --fail http://${serverIP}:49152/")
44       server.succeed("curl -v --fail http://[${serverIPv6}]:49152/")
46       client.wait_for_unit("multi-user.target")
47       page = client.succeed("curl -v --fail http://${serverIP}:49152/")
48       page = client.succeed("curl -v --fail http://[${serverIPv6}]:49152/")
49       assert "Gerbera" in page and "MediaTomb" not in page
50     '';