test: remove some tests that are annoying

This commit is contained in:
ibizaman 2025-10-12 00:13:56 +02:00 committed by Pierre Penninckx
parent 3de3dad405
commit bd0bd713fd
3 changed files with 0 additions and 253 deletions

View file

@ -242,11 +242,9 @@
inherit pkgs;
tests =
mergeTests (importFiles [
./test/modules/arr.nix
./test/modules/davfs.nix
# TODO: Make this not use IFD
./test/modules/lib.nix
./test/modules/nginx.nix
]);
};

View file

@ -1,174 +0,0 @@
{ pkgs, lib, ... }:
let
anyOpt = default: lib.mkOption {
type = lib.types.anything;
inherit default;
};
testConfig = m:
let
cfg = (lib.evalModules {
specialArgs = { inherit pkgs; };
modules = [
{
options = {
systemd = anyOpt {};
shb.nginx = anyOpt {};
users = anyOpt {};
services.nginx = anyOpt {};
services.bazarr = anyOpt {};
services.jackett = anyOpt {};
services.lidarr = anyOpt {};
services.radarr = anyOpt {};
services.readarr = anyOpt {};
services.sonarr = anyOpt {};
};
}
../../modules/services/arr.nix
m
];
}).config;
systemdRedacted = lib.filterAttrsRecursive (n: v: n != "preStart") cfg.systemd;
in {
inherit (cfg) services users;
systemd = systemdRedacted;
shb = { inherit (cfg.shb) nginx; };
};
in
{
testArrNoOptions = {
expected = {
systemd = {};
shb.nginx = {};
users = {};
services.nginx = {};
services.bazarr = {};
services.jackett = {};
services.lidarr = {};
services.radarr = {};
services.readarr = {};
services.sonarr = {};
};
expr = testConfig {};
};
testRadarr = {
expected = {
users = {};
systemd.services.radarr = {};
shb.nginx.vhosts = [
{
autheliaRules = [
{
domain = "radarr.example.com";
policy = "bypass";
resources = [
"^/api.*"
"^/feed.*"
];
}
{
domain = "radarr.example.com";
policy = "two_factor";
subject = [
"group:arr_user"
];
}
];
domain = "example.com";
authEndpoint = "https://oidc.example.com";
subdomain = "radarr";
upstream = "http://127.0.0.1:7878";
ssl = null;
}
];
services.nginx.enable = true;
services.bazarr = {};
services.jackett = {};
services.lidarr = {};
services.radarr = {
enable = true;
dataDir = "/var/lib/radarr";
user = "radarr";
group = "radarr";
};
services.readarr = {};
services.sonarr = {};
};
expr = testConfig {
services.radarr.user = "radarr";
services.radarr.group = "radarr";
shb.arr.radarr = {
subdomain = "radarr";
domain = "example.com";
enable = true;
authEndpoint = "https://oidc.example.com";
settings = {
ApiKey.source = pkgs.writeText "key" "/run/radarr/apikey";
};
};
};
};
testRadarrWithBackup = {
expected = {
users = {};
systemd.services.radarr = {};
shb.nginx.vhosts = [
{
autheliaRules = [
{
domain = "radarr.example.com";
policy = "bypass";
resources = [
"^/api.*"
"^/feed.*"
];
}
{
domain = "radarr.example.com";
policy = "two_factor";
subject = [
"group:arr_user"
];
}
];
domain = "example.com";
authEndpoint = "https://oidc.example.com";
subdomain = "radarr";
upstream = "http://127.0.0.1:7878";
ssl = null;
}
];
services.nginx.enable = true;
services.bazarr = {};
services.jackett = {};
services.lidarr = {};
services.radarr = {
enable = true;
dataDir = "/var/lib/radarr";
user = "radarr";
group = "radarr";
};
services.readarr = {};
services.sonarr = {};
};
expr = testConfig {
services.radarr.user = "radarr";
services.radarr.group = "radarr";
shb.arr.radarr = {
subdomain = "radarr";
domain = "example.com";
enable = true;
authEndpoint = "https://oidc.example.com";
settings = {
ApiKey.source = pkgs.writeText "key" "/run/radarr/apikey";
};
};
};
};
}

View file

@ -1,77 +0,0 @@
{ pkgs, lib, ... }:
let
anyOpt = default: lib.mkOption {
type = lib.types.anything;
inherit default;
};
testConfig = m:
let
cfg = (lib.evalModules {
specialArgs = { inherit pkgs; };
modules = [
{
options = {
assertions = anyOpt [];
networking = anyOpt {};
security = anyOpt {};
services = anyOpt {};
shb.authelia = anyOpt {};
systemd = anyOpt {};
users = anyOpt {};
};
}
../../modules/blocks/ssl.nix
../../modules/blocks/nginx.nix
m
];
}).config;
in lib.attrsets.filterAttrsRecursive (n: v: n != "extraConfig") {
services = { inherit (cfg.services) nginx; };
shb = { inherit (cfg.shb) nginx; };
};
in
{
testNoOptions = {
expected = {
shb.nginx = {
accessLog = false;
vhosts = [];
debugLog = false;
};
services.nginx.enable = true;
};
expr = testConfig {};
};
testAuth = {
expected = {
nginx.enable = true;
nginx.virtualHosts."my.example.com" = {
forceSSL = true;
locations."/" = {};
locations."/authelia" = {};
sslCertificate = "/var/lib/certs/selfsigned/example.com.cert";
sslCertificateKey = "/var/lib/certs/selfsigned/example.com.key";
};
};
expr = (testConfig ({ config, ... }: {
shb.certs.cas.selfsigned.myca = {};
shb.certs.certs.selfsigned."example.com" = {
ca = config.shb.certs.cas.selfsigned.myca;
domain = "example.com";
};
shb.nginx.vhosts = [{
subdomain = "my";
domain = "example.com";
ssl = config.shb.certs.certs.selfsigned."example.com";
upstream = "http://127.0.0.1:1234";
authEndpoint = "hello";
autheliaRules = [{}];
}];
})).services;
};
}