at 18.03-beta 1.0 kB view raw
1import ./make-test.nix ({ pkgs, ... } : 2let 3 role = "test"; 4 password = "secret"; 5 conn = "local"; 6in 7{ 8 name = "pgmanage"; 9 meta = with pkgs.stdenv.lib.maintainers; { 10 maintainers = [ basvandijk ]; 11 }; 12 nodes = { 13 one = { config, pkgs, ... }: { 14 services = { 15 postgresql = { 16 enable = true; 17 initialScript = pkgs.writeText "pg-init-script" '' 18 CREATE ROLE ${role} SUPERUSER LOGIN PASSWORD '${password}'; 19 ''; 20 }; 21 pgmanage = { 22 enable = true; 23 connections = { 24 "${conn}" = "hostaddr=127.0.0.1 port=${toString config.services.postgresql.port} dbname=postgres"; 25 }; 26 }; 27 }; 28 }; 29 }; 30 31 testScript = '' 32 startAll; 33 $one->waitForUnit("default.target"); 34 $one->requireActiveUnit("pgmanage.service"); 35 36 # Test if we can log in. 37 $one->waitUntilSucceeds("curl 'http://localhost:8080/pgmanage/auth' --data 'action=login&connname=${conn}&username=${role}&password=${password}' --fail"); 38 ''; 39})