python312Packages.homematicip: 1.1.2 -> 1.1.3 (#356780)
[NixPkgs.git] / nixos / tests / minidlna.nix
blob32721819634e3cc164209dc7e5de8f290e2d9885
1 import ./make-test-python.nix ({ pkgs, ... }: {
2   name = "minidlna";
4   nodes = {
5     server =
6       { ... }:
7       {
8         imports = [ ../modules/profiles/minimal.nix ];
9         services.minidlna.enable = true;
10         services.minidlna.openFirewall = true;
11         services.minidlna.settings = {
12           log_level = "error";
13           media_dir = [
14             "PV,/tmp/stuff"
15           ];
16           friendly_name = "rpi3";
17           root_container = "B";
18           notify_interval = 60;
19           album_art_names = [
20             "Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg"
21             "AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg"
22             "Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg"
23           ];
24         };
25       };
26     client = { ... }: { };
27   };
29   testScript =
30   ''
31     start_all()
32     server.succeed("mkdir -p /tmp/stuff && chown minidlna: /tmp/stuff")
33     server.wait_for_unit("minidlna")
34     server.wait_for_open_port(8200)
35     # requests must be made *by IP* to avoid triggering minidlna's
36     # DNS-rebinding protection
37     server.succeed("curl --fail http://$(getent ahostsv4 localhost | head -n1 | cut -f 1 -d ' '):8200/")
38     client.succeed("curl --fail http://$(getent ahostsv4 server | head -n1 | cut -f 1 -d ' '):8200/")
39   '';