summaryrefslogtreecommitdiffstats
path: root/nixos/tests/deluge.nix
diff options
context:
space:
mode:
authorBrice Waegeneire <brice.wge@gmail.com>2019-03-29 15:51:07 +0100
committerBrice Waegeneire <brice.wge@gmail.com>2019-06-04 18:08:11 +0200
commit2fa256bd553e96209821ef0b1890c77f765c3cf1 (patch)
tree3d979865ee6f39f15e136d4615afea73b753f42c /nixos/tests/deluge.nix
parent474566bccbe50dc12c5142d2759fad53bed47c28 (diff)
nixos/deluge: add authFile, config & port options
Diffstat (limited to 'nixos/tests/deluge.nix')
-rw-r--r--nixos/tests/deluge.nix49
1 files changed, 40 insertions, 9 deletions
diff --git a/nixos/tests/deluge.nix b/nixos/tests/deluge.nix
index b4be5e465cc0..22ad84e7bff1 100644
--- a/nixos/tests/deluge.nix
+++ b/nixos/tests/deluge.nix
@@ -5,25 +5,56 @@ import ./make-test.nix ({ pkgs, ...} : {
};
nodes = {
- server =
+ simple = {
+ services.deluge = {
+ enable = true;
+ web.enable = true;
+ };
+ networking.firewall.allowedTCPPorts = [ 8112 ];
+ };
+
+ declarative =
{ ... }:
- { services.deluge = {
+ {
+ services.deluge = {
enable = true;
- web.enable = true;
+ openFirewall = true;
+ declarative = true;
+ config = {
+ allow_remote = true;
+ download_location = "/var/lib/deluge/my-download";
+ daemon_port = 58846;
+ listen_ports = [ 6881 6889 ];
+ };
+ web = {
+ enable = true;
+ port = 3142;
+ };
+ authFile = pkgs.writeText "deluge-auth" ''
+ localclient:a7bef72a890:10
+ andrew:password:10
+ user3:anotherpass:5
+ '';
};
- networking.firewall.allowedTCPPorts = [ 8112 ];
+ environment.systemPackages = [ pkgs.deluge ];
};
- client = { };
};
testScript = ''
startAll;
- $server->waitForUnit("deluged");
- $server->waitForUnit("delugeweb");
- $client->waitForUnit("network.target");
- $client->waitUntilSucceeds("curl --fail http://server:8112");
+ $simple->waitForUnit("deluged");
+ $simple->waitForUnit("delugeweb");
+ $simple->waitForOpenPort("8112");
+ $declarative->waitForUnit("network.target");
+ $declarative->waitUntilSucceeds("curl --fail http://simple:8112");
+
+ $declarative->waitForUnit("deluged");
+ $declarative->waitForUnit("delugeweb");
+ $declarative->waitUntilSucceeds("curl --fail http://declarative:3142");
+ $declarative->succeed("deluge-console 'help' | grep -q 'rm - Remove a torrent'");
+ $declarative->succeed("deluge-console 'connect 127.0.0.1:58846 andrew password; help' | grep -q 'rm - Remove a torrent'");
'';
})