Merge pull request #74082 from flokli/nixos-test-port-gocd

nixosTest.gocd-{agent,server}: port to python
This commit is contained in:
Florian Klink 2019-12-04 00:35:56 +01:00 committed by GitHub
commit c7d0ee722d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 29 additions and 21 deletions

View File

@ -9,14 +9,18 @@ let
header = "Accept: application/vnd.go.cd.v2+json"; header = "Accept: application/vnd.go.cd.v2+json";
in in
import ./make-test.nix ({ pkgs, ...} : { import ./make-test-python.nix ({ pkgs, ...} : {
name = "gocd-agent"; name = "gocd-agent";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ grahamc swarren83 ]; maintainers = [ grahamc swarren83 ];
# gocd agent needs to register with the autoregister key created on first server startup,
# but NixOS module doesn't seem to allow to pass during runtime currently
broken = true;
}; };
nodes = { nodes = {
gocd_agent = agent =
{ ... }: { ... }:
{ {
virtualisation.memorySize = 2046; virtualisation.memorySize = 2046;
@ -30,11 +34,15 @@ import ./make-test.nix ({ pkgs, ...} : {
}; };
testScript = '' testScript = ''
startAll; start_all()
$gocd_agent->waitForUnit("gocd-server"); agent.wait_for_unit("gocd-server")
$gocd_agent->waitForOpenPort("8153"); agent.wait_for_open_port("8153")
$gocd_agent->waitForUnit("gocd-agent"); agent.wait_for_unit("gocd-agent")
$gocd_agent->waitUntilSucceeds("curl ${serverUrl} -H '${header}' | ${pkgs.jq}/bin/jq -e ._embedded.agents[0].uuid"); agent.wait_until_succeeds(
$gocd_agent->succeed("curl ${serverUrl} -H '${header}' | ${pkgs.jq}/bin/jq -e ._embedded.agents[0].agent_state | grep -q Idle"); "curl ${serverUrl} -H '${header}' | ${pkgs.jq}/bin/jq -e ._embedded.agents[0].uuid"
)
agent.succeed(
"curl ${serverUrl} -H '${header}' | ${pkgs.jq}/bin/jq -e ._embedded.agents[0].agent_state | grep -q Idle"
)
''; '';
}) })

View File

@ -2,7 +2,7 @@
# 1. GoCD server starts # 1. GoCD server starts
# 2. GoCD server responds # 2. GoCD server responds
import ./make-test.nix ({ pkgs, ...} : import ./make-test-python.nix ({ pkgs, ...} :
{ {
name = "gocd-server"; name = "gocd-server";
@ -10,19 +10,19 @@ import ./make-test.nix ({ pkgs, ...} :
maintainers = [ swarren83 ]; maintainers = [ swarren83 ];
}; };
nodes = { nodes = {
gocd_server = server =
{ ... }: { ... }:
{ {
virtualisation.memorySize = 2046; virtualisation.memorySize = 2046;
services.gocd-server.enable = true; services.gocd-server.enable = true;
}; };
}; };
testScript = '' testScript = ''
$gocd_server->start; server.start()
$gocd_server->waitForUnit("gocd-server"); server.wait_for_unit("gocd-server")
$gocd_server->waitForOpenPort("8153"); server.wait_for_open_port(8153)
$gocd_server->waitUntilSucceeds("curl -s -f localhost:8153/go"); server.wait_until_succeeds("curl -s -f localhost:8153/go")
''; '';
}) })