1{ 2 pkgs, 3 makeTest, 4 genTests, 5}: 6 7let 8 inherit (pkgs) lib; 9 10 makeTestFor = 11 package: 12 makeTest { 13 name = "pgjwt-${package.name}"; 14 meta = with lib.maintainers; { 15 maintainers = [ 16 spinus 17 ]; 18 }; 19 20 nodes.master = 21 { ... }: 22 { 23 services.postgresql = { 24 inherit package; 25 enable = true; 26 extensions = 27 ps: with ps; [ 28 pgjwt 29 pgtap 30 ]; 31 }; 32 }; 33 34 testScript = 35 { nodes, ... }: 36 let 37 sqlSU = "${nodes.master.services.postgresql.superUser}"; 38 pgProve = "${pkgs.perlPackages.TAPParserSourceHandlerpgTAP}"; 39 inherit (nodes.master.services.postgresql.package.pkgs) pgjwt; 40 in 41 '' 42 start_all() 43 master.wait_for_unit("postgresql.target") 44 master.succeed( 45 "${pkgs.sudo}/bin/sudo -u ${sqlSU} ${pgProve}/bin/pg_prove -d postgres -v -f ${pgjwt.src}/test.sql" 46 ) 47 ''; 48 }; 49in 50genTests { 51 inherit makeTestFor; 52 filter = _: p: !p.pkgs.pgjwt.meta.broken; 53}