Merge pull request #33679 from flokli/deluge-module

Deluge: use mkEnableOption, add test

Changed files
+32 -12
nixos
modules
services
torrent
tests
+2 -12
nixos/modules/services/torrent/deluge.nix
···
options = {
services = {
deluge = {
-
enable = mkOption {
-
default = false;
-
description = "Start the Deluge daemon";
-
};
+
enable = mkEnableOption "Deluge daemon";
openFilesLimit = mkOption {
default = openFilesLimit;
···
};
};
-
deluge.web = {
-
enable = mkOption {
-
default = false;
-
description = ''
-
Start Deluge Web daemon.
-
'';
-
};
-
};
+
deluge.web.enable = mkEnableOption "Deluge Web daemon";
};
};
+1
nixos/release.nix
···
tests.containers-hosts = callTest tests/containers-hosts.nix {};
tests.containers-macvlans = callTest tests/containers-macvlans.nix {};
tests.couchdb = callTest tests/couchdb.nix {};
+
tests.deluge = callTest tests/deluge.nix {};
tests.docker = callTestOnMatchingSystems ["x86_64-linux"] tests/docker.nix {};
tests.docker-tools = callTestOnMatchingSystems ["x86_64-linux"] tests/docker-tools.nix {};
tests.docker-tools-overlay = callTestOnMatchingSystems ["x86_64-linux"] tests/docker-tools-overlay.nix {};
+29
nixos/tests/deluge.nix
···
+
import ./make-test.nix ({ pkgs, ...} : {
+
name = "deluge";
+
meta = with pkgs.stdenv.lib.maintainers; {
+
maintainers = [ flokli ];
+
};
+
+
nodes = {
+
server =
+
{ pkgs, config, ... }:
+
+
{ services.deluge = {
+
enable = true;
+
web.enable = true;
+
};
+
networking.firewall.allowedTCPPorts = [ 8112 ];
+
};
+
+
client = { };
+
};
+
+
testScript = ''
+
startAll;
+
+
$server->waitForUnit("deluged");
+
$server->waitForUnit("delugeweb");
+
$client->waitForUnit("network.target");
+
$client->waitUntilSucceeds("curl --fail http://server:8112");
+
'';
+
})