at master 1.3 kB view raw
1{ lib, pkgs, ... }: 2let 3 port = 5000; 4 scanPath = "/var/lib/legit"; 5in 6{ 7 name = "legit-web"; 8 meta.maintainers = [ lib.maintainers.ratsclub ]; 9 10 nodes = { 11 server = 12 { config, pkgs, ... }: 13 { 14 services.legit = { 15 enable = true; 16 settings = { 17 server.port = 5000; 18 repo = { inherit scanPath; }; 19 }; 20 }; 21 22 environment.systemPackages = [ pkgs.git ]; 23 }; 24 }; 25 26 testScript = 27 { nodes, ... }: 28 let 29 strPort = builtins.toString port; 30 in 31 '' 32 start_all() 33 34 server.wait_for_unit("network.target") 35 server.wait_for_unit("legit.service") 36 37 server.wait_until_succeeds( 38 "curl -f http://localhost:${strPort}" 39 ) 40 41 server.succeed("${pkgs.writeShellScript "setup-legit-test-repo" '' 42 set -e 43 git init --bare -b master ${scanPath}/some-repo 44 git init -b master reference 45 cd reference 46 git remote add origin ${scanPath}/some-repo 47 date > date.txt 48 git add date.txt 49 git -c user.name=test -c user.email=test@localhost commit -m 'add date' 50 git push -u origin master 51 ''}") 52 53 server.wait_until_succeeds( 54 "curl -f http://localhost:${strPort}/some-repo" 55 ) 56 ''; 57}