at 23.05-pre 1.3 kB view raw
1import ./make-test-python.nix ({ pkgs, ... }: { 2 name = "minidlna"; 3 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 }; 28 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 ''; 40})