nixos/cross-seed: re-enable test

Changed files
+49 -1
nixos
pkgs
by-name
cr
cross-seed
+1
nixos/tests/all-tests.nix
···
curl-impersonate = handleTest ./curl-impersonate.nix {};
custom-ca = handleTest ./custom-ca.nix {};
croc = handleTest ./croc.nix {};
+
cross-seed = runTest ./cross-seed.nix;
cyrus-imap = runTest ./cyrus-imap.nix;
darling = handleTest ./darling.nix {};
darling-dmg = runTest ./darling-dmg.nix;
+43
nixos/tests/cross-seed.nix
···
+
{ lib, ... }:
+
let
+
apiKey = "twentyfourcharacterskey!";
+
in
+
{
+
name = "cross-seed";
+
meta.maintainers = with lib.maintainers; [ pta2002 ];
+
+
nodes.machine =
+
{ pkgs, config, ... }:
+
let
+
cfg = config.services.cross-seed;
+
in
+
{
+
systemd.tmpfiles.settings."0-cross-seed-test"."${cfg.settings.torrentDir}".d = {
+
inherit (cfg) user group;
+
mode = "700";
+
};
+
+
services.cross-seed = {
+
enable = true;
+
settings = {
+
torrentDir = "/var/lib/torrents";
+
torznab = [ ];
+
useClientTorrents = false;
+
};
+
# # We create this secret in the Nix store (making it readable by everyone).
+
# # DO NOT DO THIS OUTSIDE OF TESTS!!
+
settingsFile = (pkgs.formats.json { }).generate "secrets.json" {
+
inherit apiKey;
+
};
+
};
+
};
+
+
testScript = # python
+
''
+
start_all()
+
machine.wait_for_unit("cross-seed.service")
+
machine.wait_for_open_port(2468)
+
# Check that the API is running
+
machine.succeed("curl --fail http://localhost:2468/api/ping?apiKey=${apiKey}")
+
'';
+
}
+5 -1
pkgs/by-name/cr/cross-seed/package.nix
···
buildNpmPackage,
fetchFromGitHub,
nix-update-script,
+
nixosTests,
}:
buildNpmPackage rec {
···
npmDepsHash = "sha256-hSiGnw3Fo//oTONBmtuv0sDvldCzs1PsdImxdGWEpMo=";
-
passthru.updateScript = nix-update-script;
+
passthru = {
+
updateScript = nix-update-script;
+
tests.cross-seed = nixosTests.cross-seed;
+
};
meta = {
description = "Fully-automatic torrent cross-seeding with Torznab";