at 25.11-pre 1.4 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 ( 13 { pkgs, ... }: 14 { 15 name = "gocd-agent"; 16 meta = with pkgs.lib.maintainers; { 17 maintainers = [ 18 grahamc 19 swarren83 20 ]; 21 22 # gocd agent needs to register with the autoregister key created on first server startup, 23 # but NixOS module doesn't seem to allow to pass during runtime currently 24 broken = true; 25 }; 26 27 nodes = { 28 agent = 29 { ... }: 30 { 31 virtualisation.memorySize = 2046; 32 services.gocd-agent = { 33 enable = true; 34 }; 35 services.gocd-server = { 36 enable = true; 37 }; 38 }; 39 }; 40 41 testScript = '' 42 start_all() 43 agent.wait_for_unit("gocd-server") 44 agent.wait_for_open_port(8153) 45 agent.wait_for_unit("gocd-agent") 46 agent.wait_until_succeeds( 47 "curl ${serverUrl} -H '${header}' | ${pkgs.jq}/bin/jq -e ._embedded.agents[0].uuid" 48 ) 49 agent.succeed( 50 "curl ${serverUrl} -H '${header}' | ${pkgs.jq}/bin/jq -e ._embedded.agents[0].agent_state | grep Idle" 51 ) 52 ''; 53 } 54)