test: remove some tests that are annoying
This commit is contained in:
parent
3de3dad405
commit
bd0bd713fd
3 changed files with 0 additions and 253 deletions
|
|
@ -242,11 +242,9 @@
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
tests =
|
tests =
|
||||||
mergeTests (importFiles [
|
mergeTests (importFiles [
|
||||||
./test/modules/arr.nix
|
|
||||||
./test/modules/davfs.nix
|
./test/modules/davfs.nix
|
||||||
# TODO: Make this not use IFD
|
# TODO: Make this not use IFD
|
||||||
./test/modules/lib.nix
|
./test/modules/lib.nix
|
||||||
./test/modules/nginx.nix
|
|
||||||
]);
|
]);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -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;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Loading…
Reference in a new issue