at 23.11-pre 1.3 kB view raw
1# verifies: 2# 1. GoCD agent starts 3# 2. GoCD agent responds 4# 3. GoCD agent is available on GoCD server using GoCD API 5# 3.1. https://api.go.cd/current/#get-all-agents 6 7let 8 serverUrl = "localhost:8153/go/api/agents"; 9 header = "Accept: application/vnd.go.cd.v2+json"; 10in 11 12import ./make-test-python.nix ({ pkgs, ...} : { 13 name = "gocd-agent"; 14 meta = with pkgs.lib.maintainers; { 15 maintainers = [ grahamc swarren83 ]; 16 17 # gocd agent needs to register with the autoregister key created on first server startup, 18 # but NixOS module doesn't seem to allow to pass during runtime currently 19 broken = true; 20 }; 21 22 nodes = { 23 agent = 24 { ... }: 25 { 26 virtualisation.memorySize = 2046; 27 services.gocd-agent = { 28 enable = true; 29 }; 30 services.gocd-server = { 31 enable = true; 32 }; 33 }; 34 }; 35 36 testScript = '' 37 start_all() 38 agent.wait_for_unit("gocd-server") 39 agent.wait_for_open_port(8153) 40 agent.wait_for_unit("gocd-agent") 41 agent.wait_until_succeeds( 42 "curl ${serverUrl} -H '${header}' | ${pkgs.jq}/bin/jq -e ._embedded.agents[0].uuid" 43 ) 44 agent.succeed( 45 "curl ${serverUrl} -H '${header}' | ${pkgs.jq}/bin/jq -e ._embedded.agents[0].agent_state | grep Idle" 46 ) 47 ''; 48})