nixos/adguardhome: add test

main
CRTified 2 years ago
parent cbbabaddf9
commit f9bc03e3c7
  1. 57
      nixos/tests/adguardhome.nix
  2. 1
      nixos/tests/all-tests.nix
  3. 3
      pkgs/servers/adguardhome/default.nix

@ -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)
'';
}

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

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

Loading…
Cancel
Save