nixos/tests/prometheus-exporters: nixpkgs-fmt

This commit is contained in:
Sandro Jäckel 2021-04-29 06:01:12 +02:00
parent da858b16b8
commit d3fe53a8a6
No known key found for this signature in database
GPG key ID: 3AF5A43A3EECC2E5

View file

@ -1,5 +1,5 @@
{ system ? builtins.currentSystem
, config ? {}
, config ? { }
, pkgs ? import ../.. { inherit system config; }
}:
@ -8,7 +8,7 @@ let
inherit (pkgs.lib) concatStringsSep maintainers mapAttrs mkMerge
removeSuffix replaceChars singleton splitString;
/*
/*
* The attrset `exporterTests` contains one attribute
* for each exporter test. Each of these attributes
* is expected to be an attrset containing:
@ -188,7 +188,8 @@ let
"plugin":"testplugin",
"time":DATE
}]
''; in ''
''; in
''
wait_for_unit("prometheus-collectd-exporter.service")
wait_for_open_port(9103)
succeed(
@ -254,7 +255,8 @@ let
'';
};
fritzbox = { # TODO add proper test case
fritzbox = {
# TODO add proper test case
exporterConfig = {
enable = true;
};
@ -407,14 +409,14 @@ let
configuration = {
monitoringInterval = "2s";
mailCheckTimeout = "10s";
servers = [ {
servers = [{
name = "testserver";
server = "localhost";
port = 25;
from = "mail-exporter@localhost";
to = "mail-exporter@localhost";
detectionDir = "/var/spool/mail/mail-exporter/new";
} ];
}];
};
};
metricProvider = {
@ -516,9 +518,11 @@ let
url = "http://localhost";
};
metricProvider = {
systemd.services.nc-pwfile = let
systemd.services.nc-pwfile =
let
passfile = (pkgs.writeText "pwfile" "snakeoilpw");
in {
in
{
requiredBy = [ "prometheus-nextcloud-exporter.service" ];
before = [ "prometheus-nextcloud-exporter.service" ];
serviceConfig.ExecStart = ''
@ -581,7 +585,7 @@ let
syslog = {
listen_address = "udp://127.0.0.1:10000";
format = "rfc3164";
tags = ["nginx"];
tags = [ "nginx" ];
};
};
}
@ -701,10 +705,10 @@ let
exporterConfig = {
enable = true;
group = "openvpn";
statusPaths = ["/run/openvpn-test"];
statusPaths = [ "/run/openvpn-test" ];
};
metricProvider = {
users.groups.openvpn = {};
users.groups.openvpn = { };
services.openvpn.servers.test = {
config = ''
dev tun
@ -824,8 +828,9 @@ let
};
metricProvider = {
# Mock rtl_433 binary to return a dummy metric stream.
nixpkgs.overlays = [ (self: super: {
rtl_433 = self.runCommand "rtl_433" {} ''
nixpkgs.overlays = [
(self: super: {
rtl_433 = self.runCommand "rtl_433" { } ''
mkdir -p "$out/bin"
cat <<EOF > "$out/bin/rtl_433"
#!/bin/sh
@ -836,7 +841,8 @@ let
EOF
chmod +x "$out/bin/rtl_433"
'';
}) ];
})
];
};
exporterTest = ''
wait_for_unit("prometheus-rtl_433-exporter.service")
@ -852,7 +858,7 @@ let
smokeping = {
exporterConfig = {
enable = true;
hosts = ["127.0.0.1"];
hosts = [ "127.0.0.1" ];
};
exporterTest = ''
wait_for_unit("prometheus-smokeping-exporter.service")
@ -990,7 +996,7 @@ let
unifi-poller = {
nodeName = "unifi_poller";
exporterConfig.enable = true;
exporterConfig.controllers = [ { } ];
exporterConfig.controllers = [{ }];
exporterTest = ''
wait_for_unit("prometheus-unifi-poller-exporter.service")
wait_for_open_port(9130)
@ -1052,7 +1058,8 @@ let
'';
};
wireguard = let snakeoil = import ./wireguard/snakeoil-keys.nix; in {
wireguard = let snakeoil = import ./wireguard/snakeoil-keys.nix; in
{
exporterConfig.enable = true;
metricProvider = {
networking.wireguard.interfaces.wg0 = {
@ -1079,15 +1086,18 @@ let
};
};
in
mapAttrs (exporter: testConfig: (makeTest (let
mapAttrs
(exporter: testConfig: (makeTest (
let
nodeName = testConfig.nodeName or exporter;
in {
in
{
name = "prometheus-${exporter}-exporter";
nodes.${nodeName} = mkMerge [{
services.prometheus.exporters.${exporter} = testConfig.exporterConfig;
} testConfig.metricProvider or {}];
} testConfig.metricProvider or { }];
testScript = ''
${nodeName}.start()
@ -1102,4 +1112,6 @@ in {
meta = with maintainers; {
maintainers = [ willibutz elseym ];
};
}))) exporterTests
}
)))
exporterTests