diff options
Diffstat (limited to 'nixos/tests/gocd-agent.nix')
-rw-r--r-- | nixos/tests/gocd-agent.nix | 34 |
1 files changed, 20 insertions, 14 deletions
diff --git a/nixos/tests/gocd-agent.nix b/nixos/tests/gocd-agent.nix index d5ed0f65ab01..5cadff089950 100644 --- a/nixos/tests/gocd-agent.nix +++ b/nixos/tests/gocd-agent.nix @@ -4,31 +4,37 @@ # 3. GoCD agent is available on GoCD server using GoCD API # 3.1. https://api.go.cd/current/#get-all-agents +let + serverUrl = "localhost:8153/go/api/agents"; + header = "Accept: application/vnd.go.cd.v2+json"; +in + import ./make-test.nix ({ pkgs, ...} : { name = "gocd-agent"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ swarren83 ]; + maintainers = [ grahamc swarren83 ]; }; -nodes = { - gocd_agent = - { config, pkgs, ... }: - { - virtualisation.memorySize = 2048; - services.gocd-agent = { - enable = true; - }; - services.gocd-server = { - enable = true; + nodes = { + gocd_agent = + { config, pkgs, ... }: + { + virtualisation.memorySize = 2046; + 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'"); + $gocd_agent->waitUntilSucceeds("curl ${serverUrl} -H '${header}' | ${pkgs.jq}/bin/jq -e ._embedded.agents[0].uuid"); + $gocd_agent->succeed("curl ${serverUrl} -H '${header}' | ${pkgs.jq}/bin/jq -e ._embedded.agents[0].agent_state | grep -q Idle"); ''; }) |