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