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