diff options
Diffstat (limited to 'nixpkgs/nixos/tests/jenkins.nix')
-rw-r--r-- | nixpkgs/nixos/tests/jenkins.nix | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/nixpkgs/nixos/tests/jenkins.nix b/nixpkgs/nixos/tests/jenkins.nix new file mode 100644 index 000000000000..4f2d2085cd1a --- /dev/null +++ b/nixpkgs/nixos/tests/jenkins.nix @@ -0,0 +1,50 @@ +# verifies: +# 1. jenkins service starts on master node +# 2. jenkins user can be extended on both master and slave +# 3. jenkins service not started on slave node + +import ./make-test.nix ({ pkgs, ...} : { + name = "jenkins"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ bjornfor coconnor domenkozar eelco chaoflow ]; + }; + + nodes = { + + master = + { ... }: + { services.jenkins.enable = true; + + # should have no effect + services.jenkinsSlave.enable = true; + + users.users.jenkins.extraGroups = [ "users" ]; + + systemd.services.jenkins.serviceConfig.TimeoutStartSec = "6min"; + }; + + slave = + { ... }: + { services.jenkinsSlave.enable = true; + + users.users.jenkins.extraGroups = [ "users" ]; + }; + + }; + + testScript = '' + startAll; + + $master->waitForUnit("jenkins"); + + $master->mustSucceed("curl http://localhost:8080 | grep 'Authentication required'"); + + print $master->execute("sudo -u jenkins groups"); + $master->mustSucceed("sudo -u jenkins groups | grep jenkins | grep users"); + + print $slave->execute("sudo -u jenkins groups"); + $slave->mustSucceed("sudo -u jenkins groups | grep jenkins | grep users"); + + $slave->mustFail("systemctl is-enabled jenkins.service"); + ''; +}) |