at 18.03-beta 1.0 kB view raw
1import ./make-test.nix ({ pkgs, lib, ...}: 2let 3 test = with pkgs; runCommand "patch-test" { 4 nativeBuildInputs = [ pgjwt ]; 5 } 6 '' 7 sed -e '12 i CREATE EXTENSION pgcrypto;\nCREATE EXTENSION pgtap;\nSET search_path TO tap,public;' ${pgjwt.src}/test.sql > $out; 8 ''; 9in 10with pkgs; { 11 name = "pgjwt"; 12 meta = with lib.maintainers; { 13 maintainers = [ spinus willibutz ]; 14 }; 15 16 nodes = { 17 master = { pkgs, config, ... }: 18 { 19 services.postgresql = { 20 enable = true; 21 extraPlugins = [ pgjwt pgtap ]; 22 }; 23 }; 24 }; 25 26 testScript = { nodes, ... }: 27 let 28 sqlSU = "${nodes.master.config.services.postgresql.superUser}"; 29 pgProve = "${pkgs.perlPackages.TAPParserSourceHandlerpgTAP}"; 30 in 31 '' 32 startAll; 33 $master->waitForUnit("postgresql"); 34 $master->copyFileFromHost("${test}","/tmp/test.sql"); 35 $master->succeed("${pkgs.sudo}/bin/sudo -u ${sqlSU} PGOPTIONS=--search_path=tap,public ${pgProve}/bin/pg_prove -d postgres -v -f /tmp/test.sql"); 36 ''; 37})