1# verifies: 2# 1. jenkins service starts on master node 3# 2. jenkins user can be extended on both master and slave 4# 3. jenkins service not started on slave node 5 6import ./make-test.nix ({ pkgs, ...} : { 7 name = "jenkins"; 8 meta = with pkgs.stdenv.lib.maintainers; { 9 maintainers = [ bjornfor coconnor iElectric eelco chaoflow ]; 10 }; 11 12 nodes = { 13 14 master = 15 { config, pkgs, ... }: 16 { services.jenkins.enable = true; 17 18 # should have no effect 19 services.jenkinsSlave.enable = true; 20 21 users.extraUsers.jenkins.extraGroups = [ "users" ]; 22 23 systemd.services.jenkins.serviceConfig.TimeoutStartSec = "6min"; 24 }; 25 26 slave = 27 { config, pkgs, ... }: 28 { services.jenkinsSlave.enable = true; 29 30 users.extraUsers.jenkins.extraGroups = [ "users" ]; 31 }; 32 33 }; 34 35 testScript = '' 36 startAll; 37 38 $master->waitForUnit("jenkins"); 39 print $master->execute("sudo -u jenkins groups"); 40 $master->mustSucceed("sudo -u jenkins groups | grep jenkins | grep users"); 41 42 print $slave->execute("sudo -u jenkins groups"); 43 $slave->mustSucceed("sudo -u jenkins groups | grep jenkins | grep users"); 44 45 $slave->mustFail("systemctl is-enabled jenkins.service"); 46 ''; 47})