diff options
author | Joachim F <joachifm@users.noreply.github.com> | 2017-10-04 10:57:43 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-04 10:57:43 +0000 |
commit | 0625110d1a4abba57c69b3b0baa8e57e1b02578b (patch) | |
tree | 62b793fc6ee6bbaf7051e5ebd5a600da87cf937f /nixos | |
parent | fd8bc05c1dc26d92ba2d422ba336ea873b9df611 (diff) | |
parent | 7d09fc6ea78a9788a74b13e2e13aa2f9e9547bf2 (diff) | |
download | nixlib-0625110d1a4abba57c69b3b0baa8e57e1b02578b.tar nixlib-0625110d1a4abba57c69b3b0baa8e57e1b02578b.tar.gz nixlib-0625110d1a4abba57c69b3b0baa8e57e1b02578b.tar.bz2 nixlib-0625110d1a4abba57c69b3b0baa8e57e1b02578b.tar.lz nixlib-0625110d1a4abba57c69b3b0baa8e57e1b02578b.tar.xz nixlib-0625110d1a4abba57c69b3b0baa8e57e1b02578b.tar.zst nixlib-0625110d1a4abba57c69b3b0baa8e57e1b02578b.zip |
Merge pull request #29927 from WilliButz/fix-pgjwt-test
nixos/tests: fix pgjwt test
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/tests/pgjwt.nix | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/nixos/tests/pgjwt.nix b/nixos/tests/pgjwt.nix index 2cf2963ae316..5af2f38035e9 100644 --- a/nixos/tests/pgjwt.nix +++ b/nixos/tests/pgjwt.nix @@ -1,42 +1,42 @@ -import ./make-test.nix ({ pkgs, ...} : +import ./make-test.nix ({ pkgs, lib, ...}: let - test = pkgs.writeText "test.sql" '' - CREATE EXTENSION pgcrypto; - CREATE EXTENSION pgjwt; - select sign('{"sub":"1234567890","name":"John Doe","admin":true}', 'secret'); - select * from verify('eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ', 'secret'); + test = with pkgs; runCommand "patch-test" { + nativeBuildInputs = [ pgjwt ]; + } + '' + sed -e '12 i CREATE EXTENSION pgcrypto;\nCREATE EXTENSION pgtap;\nSET search_path TO tap,public;' ${pgjwt.src}/test.sql > $out; ''; in -{ +with pkgs; { name = "pgjwt"; - meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ spinus ]; + meta = with lib.maintainers; { + maintainers = [ spinus willibutz ]; }; nodes = { - master = - { pkgs, config, ... }: - - { - services.postgresql = let mypg = pkgs.postgresql95; in { - enable = true; - package = mypg; - extraPlugins =[pkgs.pgjwt]; - initialScript = pkgs.writeText "postgresql-init.sql" - '' - CREATE ROLE postgres WITH superuser login createdb; - ''; - }; + master = { pkgs, config, ... }: + { + services.postgresql = { + enable = true; + package = postgresql96; + extraPlugins = [ pgjwt pgtap ]; + initialScript = writeText "postgresql-init.sql" + '' + CREATE ROLE postgres WITH superuser login createdb; + ''; }; + }; }; - testScript = '' + testScript = { nodes, ... }: + let + sqlSU = "${nodes.master.config.services.postgresql.superUser}"; + pgProve = "${pkgs.perlPackages.TAPParserSourceHandlerpgTAP}"; + in + '' startAll; $master->waitForUnit("postgresql"); - $master->succeed("timeout 10 bash -c 'while ! psql postgres -c \"SELECT 1;\";do sleep 1;done;'"); - $master->succeed("cat ${test} | psql postgres"); - # I can't make original test working :[ - # $master->succeed("${pkgs.perlPackages.TAPParserSourceHandlerpgTAP}/bin/pg_prove -d postgres ${pkgs.pgjwt.src}/test.sql"); - + $master->copyFileFromHost("${test}","/tmp/test.sql"); + $master->succeed("${pkgs.sudo}/bin/sudo -u ${sqlSU} PGOPTIONS=--search_path=tap,public ${pgProve}/bin/pg_prove -d postgres -v -f /tmp/test.sql"); ''; }) |