at master 1.5 kB view raw
1{ pkgs, ... }: 2{ 3 name = "nzbget"; 4 meta = with pkgs.lib.maintainers; { 5 maintainers = [ 6 aanderse 7 flokli 8 ]; 9 }; 10 11 nodes = { 12 server = 13 { ... }: 14 { 15 services.nzbget.enable = true; 16 17 # provide some test settings 18 services.nzbget.settings = { 19 "MainDir" = "/var/lib/nzbget"; 20 "DirectRename" = true; 21 "DiskSpace" = 0; 22 "Server1.Name" = "this is a test"; 23 }; 24 25 # hack, don't add (unfree) unrar to nzbget's path, 26 # so we can run this test in CI 27 systemd.services.nzbget.path = pkgs.lib.mkForce [ pkgs.p7zip ]; 28 }; 29 }; 30 31 testScript = 32 { nodes, ... }: 33 '' 34 start_all() 35 36 server.wait_for_unit("nzbget.service") 37 server.wait_for_unit("network.target") 38 server.wait_for_open_port(6789) 39 assert "This file is part of nzbget" in server.succeed( 40 "curl -f -s -u nzbget:tegbzn6789 http://127.0.0.1:6789" 41 ) 42 server.succeed( 43 "${pkgs.nzbget}/bin/nzbget -n -o Control_iP=127.0.0.1 -o Control_port=6789 -o Control_password=tegbzn6789 -V" 44 ) 45 46 config = server.succeed("${nodes.server.systemd.services.nzbget.serviceConfig.ExecStart} --printconfig") 47 48 # confirm the test settings are applied 49 assert 'MainDir = "/var/lib/nzbget"' in config 50 assert 'DirectRename = "yes"' in config 51 assert 'DiskSpace = "0"' in config 52 assert 'Server1.Name = "this is a test"' in config 53 ''; 54}