at 23.05-pre 1.1 kB view raw
1import ./make-test-python.nix ({ pkgs, ... } : 2let 3 role = "test"; 4 password = "secret"; 5 conn = "local"; 6in 7{ 8 name = "pgmanage"; 9 meta = with pkgs.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 start_all() 33 one.wait_for_unit("default.target") 34 one.require_unit_state("pgmanage.service", "active") 35 36 # Test if we can log in. 37 one.wait_until_succeeds( 38 "curl 'http://localhost:8080/pgmanage/auth' --data 'action=login&connname=${conn}&username=${role}&password=${password}' --fail" 39 ) 40 ''; 41})