39 lines
1.2 KiB
Nix
39 lines
1.2 KiB
Nix
|
import ./make-test-python.nix ({ pkgs, ...} : {
|
||
|
name = "postgis";
|
||
|
meta = with pkgs.lib.maintainers; {
|
||
|
maintainers = [ lsix ];
|
||
|
};
|
||
|
|
||
|
nodes = {
|
||
|
master =
|
||
|
{ pkgs, ... }:
|
||
|
|
||
|
{
|
||
|
services.postgresql = {
|
||
|
enable = true;
|
||
|
package = pkgs.postgresql;
|
||
|
extraPlugins = ps: with ps; [
|
||
|
postgis
|
||
|
];
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
testScript = ''
|
||
|
start_all()
|
||
|
master.wait_for_unit("postgresql")
|
||
|
master.sleep(10) # Hopefully this is long enough!!
|
||
|
master.succeed("sudo -u postgres psql -c 'CREATE EXTENSION postgis;'")
|
||
|
master.succeed("sudo -u postgres psql -c 'CREATE EXTENSION postgis_raster;'")
|
||
|
master.succeed("sudo -u postgres psql -c 'CREATE EXTENSION postgis_topology;'")
|
||
|
master.succeed("sudo -u postgres psql -c 'select postgis_version();'")
|
||
|
master.succeed("[ \"$(sudo -u postgres psql --no-psqlrc --tuples-only -c 'select postgis_version();')\" = \" ${
|
||
|
pkgs.lib.versions.major pkgs.postgis.version
|
||
|
}.${
|
||
|
pkgs.lib.versions.minor pkgs.postgis.version
|
||
|
} USE_GEOS=1 USE_PROJ=1 USE_STATS=1\" ]")
|
||
|
# st_makepoint goes through c code
|
||
|
master.succeed("sudo -u postgres psql --no-psqlrc --tuples-only -c 'select st_makepoint(1, 1)'")
|
||
|
'';
|
||
|
})
|