summary refs log tree commit diff
path: root/nixos/tests/gocd-agent.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/tests/gocd-agent.nix')
-rw-r--r--nixos/tests/gocd-agent.nix34
1 files changed, 34 insertions, 0 deletions
diff --git a/nixos/tests/gocd-agent.nix b/nixos/tests/gocd-agent.nix
new file mode 100644
index 000000000000..d5ed0f65ab01
--- /dev/null
+++ b/nixos/tests/gocd-agent.nix
@@ -0,0 +1,34 @@
+# verifies:
+#   1. GoCD agent starts
+#   2. GoCD agent responds
+#   3. GoCD agent is available on GoCD server using GoCD API
+#     3.1. https://api.go.cd/current/#get-all-agents
+
+import ./make-test.nix ({ pkgs, ...} : {
+  name = "gocd-agent";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ swarren83 ];
+  };
+
+nodes = {
+  gocd_agent =
+    { config, pkgs, ... }:
+    { 
+      virtualisation.memorySize = 2048;
+      services.gocd-agent = {
+        enable = true;
+      };
+      services.gocd-server = {
+        enable = true;
+      };
+    };
+};
+
+  testScript = ''
+    startAll;
+    $gocd_agent->waitForUnit("gocd-server");
+    $gocd_agent->waitForOpenPort("8153");
+    $gocd_agent->waitForUnit("gocd-agent");
+    $gocd_agent->waitUntilSucceeds("curl -s -f localhost:8153/go/api/agents -H 'Accept: application/vnd.go.cd.v2+json'");
+  '';
+})