nixos/adguardhome: add test

This commit is contained in:
CRTified 2022-01-17 01:39:27 +01:00
parent cbbabaddf9
commit f9bc03e3c7
3 changed files with 60 additions and 1 deletions

View file

@ -0,0 +1,57 @@
import ./make-test-python.nix {
name = "adguardhome";
nodes = {
minimalConf = { ... }: {
services.adguardhome = { enable = true; };
};
declarativeConf = { ... }: {
services.adguardhome = {
enable = true;
mutableSettings = false;
settings = {
dns = {
bind_host = "0.0.0.0";
bootstrap_dns = "127.0.0.1";
};
};
};
};
mixedConf = { ... }: {
services.adguardhome = {
enable = true;
mutableSettings = true;
settings = {
dns = {
bind_host = "0.0.0.0";
bootstrap_dns = "127.0.0.1";
};
};
};
};
};
testScript = ''
with subtest("Minimal config test"):
minimalConf.wait_for_unit("adguardhome.service")
minimalConf.wait_for_open_port(3000)
with subtest("Declarative config test, DNS will be reachable"):
declarativeConf.wait_for_unit("adguardhome.service")
declarativeConf.wait_for_open_port(53)
declarativeConf.wait_for_open_port(3000)
with subtest("Mixed config test, check whether merging works"):
mixedConf.wait_for_unit("adguardhome.service")
mixedConf.wait_for_open_port(53)
mixedConf.wait_for_open_port(3000)
# Test whether merging works properly, even if nothing is changed
mixedConf.systemctl("restart adguardhome.service")
mixedConf.wait_for_unit("adguardhome.service")
mixedConf.wait_for_open_port(3000)
'';
}

View file

@ -23,6 +23,7 @@ in
{ {
_3proxy = handleTest ./3proxy.nix {}; _3proxy = handleTest ./3proxy.nix {};
acme = handleTest ./acme.nix {}; acme = handleTest ./acme.nix {};
adguardhome = handleTest ./adguardhome.nix {};
aesmd = handleTest ./aesmd.nix {}; aesmd = handleTest ./aesmd.nix {};
agda = handleTest ./agda.nix {}; agda = handleTest ./agda.nix {};
airsonic = handleTest ./airsonic.nix {}; airsonic = handleTest ./airsonic.nix {};

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, fetchzip }: { lib, stdenv, fetchurl, fetchzip, nixosTests }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "adguardhome"; pname = "adguardhome";
@ -12,6 +12,7 @@ stdenv.mkDerivation rec {
passthru = { passthru = {
updateScript = ./update.sh; updateScript = ./update.sh;
tests.adguardhome = nixosTests.adguardhome;
}; };
meta = with lib; { meta = with lib; {