about summary refs log tree commit diff
path: root/nixos/tests/trickster.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/tests/trickster.nix')
-rw-r--r--nixos/tests/trickster.nix29
1 files changed, 29 insertions, 0 deletions
diff --git a/nixos/tests/trickster.nix b/nixos/tests/trickster.nix
new file mode 100644
index 000000000000..1461a32bb07e
--- /dev/null
+++ b/nixos/tests/trickster.nix
@@ -0,0 +1,29 @@
+import ./make-test.nix ({ pkgs, ... }: {
+  name = "trickster";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ "1000101" ];
+  };
+
+  nodes = {
+    prometheus = { ... }: {
+      services.prometheus.enable = true;
+      networking.firewall.allowedTCPPorts = [ 9090 ];
+    };
+    trickster = { ... }: {
+      services.trickster.enable = true;
+    };
+  };
+
+  testScript = ''
+    startAll;
+    $prometheus->waitForUnit("prometheus.service");
+    $prometheus->waitForOpenPort(9090);
+    $prometheus->waitUntilSucceeds("curl -L http://localhost:9090/metrics | grep 'promhttp_metric_handler_requests_total{code=\"500\"} 0'");
+    $trickster->waitForUnit("trickster.service");
+    $trickster->waitForOpenPort(8082);
+    $trickster->waitForOpenPort(9090);
+    $trickster->waitUntilSucceeds("curl -L http://localhost:8082/metrics | grep 'promhttp_metric_handler_requests_total{code=\"500\"} 0'");
+    $trickster->waitUntilSucceeds("curl -L http://prometheus:9090/metrics | grep 'promhttp_metric_handler_requests_total{code=\"500\"} 0'");
+    $trickster->waitUntilSucceeds("curl -L http://localhost:9090/metrics | grep 'promhttp_metric_handler_requests_total{code=\"500\"} 0'");
+  '';
+})
\ No newline at end of file