Skip to content

Instantly share code, notes, and snippets.

@dminuoso
Created February 8, 2023 11:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dminuoso/4b23c4c5636b3232b55b79a10d279110 to your computer and use it in GitHub Desktop.
Save dminuoso/4b23c4c5636b3232b55b79a10d279110 to your computer and use it in GitHub Desktop.
let nixpkgs = import <nixpkgs> {};
nixos-lib = import (<nixpkgs> + "/nixos/lib") {};
in
nixos-lib.runTest {
nodes.db = { lib, ... }: {
config = {
services.postgresql = {
enable = true;
settings.log_statement = "all";
authentication = ''
local mydb myuser peer
'';
ensureDatabases = [ "mydb" ];
ensureUsers = [{
name = "myuser";
ensurePermissions = {
"ALL TABLES IN SCHEMA public" = "ALL PRIVILEGES";
};
}];
};
users.groups."mygroup" = {};
users.users."myuser".isNormalUser = true;
users.users."myuser".group = "mygroup";
};
};
name = "Test if database works";
hostPkgs = nixpkgs;
testScript = ''
db.wait_for_unit("postgresql.service")
db.succeed("sudo -u myuser psql -d mydb -c \"SELECT VERSION()\"")
'';
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment