Loading nixos/tests/postgresql/anonymizer.nix +18 −12 Original line number Diff line number Diff line { pkgs , makeTest { pkgs, makeTest, }: let inherit (pkgs) lib; makeTestFor = package: makeTestFor = package: makeTest { name = "postgresql_anonymizer-${package.name}"; meta.maintainers = lib.teams.flyingcircus.members; nodes.machine = { pkgs, ... }: { nodes.machine = { pkgs, ... }: { environment.systemPackages = [ pkgs.pg-dump-anon ]; services.postgresql = { inherit package; Loading Loading @@ -103,7 +107,9 @@ let }; in lib.recurseIntoAttrs ( lib.concatMapAttrs (n: p: { ${n} = makeTestFor p; }) (lib.filterAttrs (_: p: !p.pkgs.anonymizer.meta.broken) pkgs.postgresqlVersions) lib.concatMapAttrs (n: p: { ${n} = makeTestFor p; }) ( lib.filterAttrs (_: p: !p.pkgs.anonymizer.meta.broken) pkgs.postgresqlVersions ) // { passthru.override = p: makeTestFor p; } Loading nixos/tests/postgresql/pgjwt.nix +33 −20 Original line number Diff line number Diff line { pkgs , makeTest { pkgs, makeTest, }: let inherit (pkgs) lib; makeTestFor = package: makeTestFor = package: makeTest { name = "pgjwt-${package.name}"; meta = with lib.maintainers; { maintainers = [ spinus willibutz ]; maintainers = [ spinus willibutz ]; }; nodes.master = { ... }: nodes.master = { ... }: { services.postgresql = { inherit package; enable = true; extraPlugins = ps: with ps; [ pgjwt pgtap ]; extraPlugins = ps: with ps; [ pgjwt pgtap ]; }; }; testScript = { nodes, ... }: testScript = { nodes, ... }: let sqlSU = "${nodes.master.services.postgresql.superUser}"; pgProve = "${pkgs.perlPackages.TAPParserSourceHandlerpgTAP}"; Loading @@ -37,7 +48,9 @@ let }; in lib.recurseIntoAttrs ( lib.concatMapAttrs (n: p: { ${n} = makeTestFor p; }) (lib.filterAttrs (_: p: !p.pkgs.pgjwt.meta.broken) pkgs.postgresqlVersions) lib.concatMapAttrs (n: p: { ${n} = makeTestFor p; }) ( lib.filterAttrs (_: p: !p.pkgs.pgjwt.meta.broken) pkgs.postgresqlVersions ) // { passthru.override = p: makeTestFor p; } Loading nixos/tests/postgresql/pgvecto-rs.nix +32 −25 Original line number Diff line number Diff line { pkgs , makeTest { pkgs, makeTest, }: let Loading @@ -22,26 +23,30 @@ let ('a thin dog sat on a mat and ate a thin rat', '[10, 11, 12]'); ''; makeTestFor = postgresqlPackage: makeTestFor = postgresqlPackage: makeTest { name = "pgvecto-rs-${postgresqlPackage.name}"; meta = with lib.maintainers; { maintainers = [ diogotcorreia ]; }; nodes.machine = { ... }: nodes.machine = { ... }: { services.postgresql = { enable = true; package = postgresqlPackage; extraPlugins = ps: with ps; [ extraPlugins = ps: with ps; [ pgvecto-rs ]; settings.shared_preload_libraries = "vectors"; }; }; testScript = { nodes, ... }: testScript = { nodes, ... }: let inherit (nodes.machine.services.postgresql.package.pkgs) pgvecto-rs; in Loading @@ -67,7 +72,9 @@ let }; in lib.recurseIntoAttrs ( lib.concatMapAttrs (n: p: { ${n} = makeTestFor p; }) (lib.filterAttrs (_: p: !p.pkgs.pgvecto-rs.meta.broken) pkgs.postgresqlVersions) lib.concatMapAttrs (n: p: { ${n} = makeTestFor p; }) ( lib.filterAttrs (_: p: !p.pkgs.pgvecto-rs.meta.broken) pkgs.postgresqlVersions ) // { passthru.override = p: makeTestFor p; } Loading nixos/tests/postgresql/postgresql-jit.nix +20 −14 Original line number Diff line number Diff line { pkgs , makeTest { pkgs, makeTest, }: let inherit (pkgs) lib; makeTestFor = package: makeTestFor = package: makeTest { name = "postgresql-jit-${package.name}"; meta.maintainers = with lib.maintainers; [ ma27 ]; nodes.machine = { pkgs, ... }: { nodes.machine = { pkgs, ... }: { services.postgresql = { inherit package; enable = true; Loading Loading @@ -45,7 +49,9 @@ let }; in lib.recurseIntoAttrs ( lib.concatMapAttrs (n: p: { ${n} = makeTestFor p; }) (lib.filterAttrs (n: _: lib.hasSuffix "_jit" n) pkgs.postgresqlVersions) lib.concatMapAttrs (n: p: { ${n} = makeTestFor p; }) ( lib.filterAttrs (n: _: lib.hasSuffix "_jit" n) pkgs.postgresqlVersions ) // { passthru.override = p: makeTestFor p; } Loading nixos/tests/postgresql/postgresql-tls-client-cert.nix +99 −91 Original line number Diff line number Diff line { pkgs , makeTest { pkgs, makeTest, }: let inherit (pkgs) lib; runWithOpenSSL = file: cmd: pkgs.runCommand file { runWithOpenSSL = file: cmd: pkgs.runCommand file { buildInputs = [ pkgs.openssl ]; } cmd; } cmd; caKey = runWithOpenSSL "ca.key" "openssl ecparam -name prime256v1 -genkey -noout -out $out"; caCert = runWithOpenSSL "ca.crt" '' caCert = runWithOpenSSL "ca.crt" '' openssl req -new -x509 -sha256 -key ${caKey} -out $out -subj "/CN=test.example" -days 36500 ''; serverKey = runWithOpenSSL "server.key" "openssl ecparam -name prime256v1 -genkey -noout -out $out"; serverKey = runWithOpenSSL "server.key" "openssl ecparam -name prime256v1 -genkey -noout -out $out"; serverKeyPath = "/var/lib/postgresql"; serverCert = runWithOpenSSL "server.crt" '' serverCert = runWithOpenSSL "server.crt" '' openssl req -new -sha256 -key ${serverKey} -out server.csr -subj "/CN=db.test.example" openssl x509 -req -in server.csr -CA ${caCert} -CAkey ${caKey} \ -CAcreateserial -out $out -days 36500 -sha256 ''; clientKey = runWithOpenSSL "client.key" "openssl ecparam -name prime256v1 -genkey -noout -out $out"; clientCert = runWithOpenSSL "client.crt" '' clientKey = runWithOpenSSL "client.key" "openssl ecparam -name prime256v1 -genkey -noout -out $out"; clientCert = runWithOpenSSL "client.crt" '' openssl req -new -sha256 -key ${clientKey} -out client.csr -subj "/CN=test" openssl x509 -req -in client.csr -CA ${caCert} -CAkey ${caKey} \ -CAcreateserial -out $out -days 36500 -sha256 ''; clientKeyPath = "/root"; makeTestFor = package: makeTestFor = package: makeTest { name = "postgresql-tls-client-cert-${package.name}"; meta.maintainers = with lib.maintainers; [ erictapen ]; nodes.server = { ... }: { nodes.server = { ... }: { system.activationScripts = { keyPlacement.text = '' mkdir -p '${serverKeyPath}' Loading Loading @@ -73,14 +71,19 @@ let networking = { interfaces.eth1 = { ipv6.addresses = [ { address = "fc00::1"; prefixLength = 120; } { address = "fc00::1"; prefixLength = 120; } ]; }; firewall.allowedTCPPorts = [ 5432 ]; }; }; nodes.client = { ... }: { nodes.client = { ... }: { system.activationScripts = { keyPlacement.text = '' mkdir -p '${clientKeyPath}' Loading @@ -105,10 +108,15 @@ let networking = { interfaces.eth1 = { ipv6.addresses = [ { address = "fc00::2"; prefixLength = 120; } { address = "fc00::2"; prefixLength = 120; } ]; }; hosts = { "fc00::1" = [ "db.test.example" ]; }; hosts = { "fc00::1" = [ "db.test.example" ]; }; }; }; Loading Loading
nixos/tests/postgresql/anonymizer.nix +18 −12 Original line number Diff line number Diff line { pkgs , makeTest { pkgs, makeTest, }: let inherit (pkgs) lib; makeTestFor = package: makeTestFor = package: makeTest { name = "postgresql_anonymizer-${package.name}"; meta.maintainers = lib.teams.flyingcircus.members; nodes.machine = { pkgs, ... }: { nodes.machine = { pkgs, ... }: { environment.systemPackages = [ pkgs.pg-dump-anon ]; services.postgresql = { inherit package; Loading Loading @@ -103,7 +107,9 @@ let }; in lib.recurseIntoAttrs ( lib.concatMapAttrs (n: p: { ${n} = makeTestFor p; }) (lib.filterAttrs (_: p: !p.pkgs.anonymizer.meta.broken) pkgs.postgresqlVersions) lib.concatMapAttrs (n: p: { ${n} = makeTestFor p; }) ( lib.filterAttrs (_: p: !p.pkgs.anonymizer.meta.broken) pkgs.postgresqlVersions ) // { passthru.override = p: makeTestFor p; } Loading
nixos/tests/postgresql/pgjwt.nix +33 −20 Original line number Diff line number Diff line { pkgs , makeTest { pkgs, makeTest, }: let inherit (pkgs) lib; makeTestFor = package: makeTestFor = package: makeTest { name = "pgjwt-${package.name}"; meta = with lib.maintainers; { maintainers = [ spinus willibutz ]; maintainers = [ spinus willibutz ]; }; nodes.master = { ... }: nodes.master = { ... }: { services.postgresql = { inherit package; enable = true; extraPlugins = ps: with ps; [ pgjwt pgtap ]; extraPlugins = ps: with ps; [ pgjwt pgtap ]; }; }; testScript = { nodes, ... }: testScript = { nodes, ... }: let sqlSU = "${nodes.master.services.postgresql.superUser}"; pgProve = "${pkgs.perlPackages.TAPParserSourceHandlerpgTAP}"; Loading @@ -37,7 +48,9 @@ let }; in lib.recurseIntoAttrs ( lib.concatMapAttrs (n: p: { ${n} = makeTestFor p; }) (lib.filterAttrs (_: p: !p.pkgs.pgjwt.meta.broken) pkgs.postgresqlVersions) lib.concatMapAttrs (n: p: { ${n} = makeTestFor p; }) ( lib.filterAttrs (_: p: !p.pkgs.pgjwt.meta.broken) pkgs.postgresqlVersions ) // { passthru.override = p: makeTestFor p; } Loading
nixos/tests/postgresql/pgvecto-rs.nix +32 −25 Original line number Diff line number Diff line { pkgs , makeTest { pkgs, makeTest, }: let Loading @@ -22,26 +23,30 @@ let ('a thin dog sat on a mat and ate a thin rat', '[10, 11, 12]'); ''; makeTestFor = postgresqlPackage: makeTestFor = postgresqlPackage: makeTest { name = "pgvecto-rs-${postgresqlPackage.name}"; meta = with lib.maintainers; { maintainers = [ diogotcorreia ]; }; nodes.machine = { ... }: nodes.machine = { ... }: { services.postgresql = { enable = true; package = postgresqlPackage; extraPlugins = ps: with ps; [ extraPlugins = ps: with ps; [ pgvecto-rs ]; settings.shared_preload_libraries = "vectors"; }; }; testScript = { nodes, ... }: testScript = { nodes, ... }: let inherit (nodes.machine.services.postgresql.package.pkgs) pgvecto-rs; in Loading @@ -67,7 +72,9 @@ let }; in lib.recurseIntoAttrs ( lib.concatMapAttrs (n: p: { ${n} = makeTestFor p; }) (lib.filterAttrs (_: p: !p.pkgs.pgvecto-rs.meta.broken) pkgs.postgresqlVersions) lib.concatMapAttrs (n: p: { ${n} = makeTestFor p; }) ( lib.filterAttrs (_: p: !p.pkgs.pgvecto-rs.meta.broken) pkgs.postgresqlVersions ) // { passthru.override = p: makeTestFor p; } Loading
nixos/tests/postgresql/postgresql-jit.nix +20 −14 Original line number Diff line number Diff line { pkgs , makeTest { pkgs, makeTest, }: let inherit (pkgs) lib; makeTestFor = package: makeTestFor = package: makeTest { name = "postgresql-jit-${package.name}"; meta.maintainers = with lib.maintainers; [ ma27 ]; nodes.machine = { pkgs, ... }: { nodes.machine = { pkgs, ... }: { services.postgresql = { inherit package; enable = true; Loading Loading @@ -45,7 +49,9 @@ let }; in lib.recurseIntoAttrs ( lib.concatMapAttrs (n: p: { ${n} = makeTestFor p; }) (lib.filterAttrs (n: _: lib.hasSuffix "_jit" n) pkgs.postgresqlVersions) lib.concatMapAttrs (n: p: { ${n} = makeTestFor p; }) ( lib.filterAttrs (n: _: lib.hasSuffix "_jit" n) pkgs.postgresqlVersions ) // { passthru.override = p: makeTestFor p; } Loading
nixos/tests/postgresql/postgresql-tls-client-cert.nix +99 −91 Original line number Diff line number Diff line { pkgs , makeTest { pkgs, makeTest, }: let inherit (pkgs) lib; runWithOpenSSL = file: cmd: pkgs.runCommand file { runWithOpenSSL = file: cmd: pkgs.runCommand file { buildInputs = [ pkgs.openssl ]; } cmd; } cmd; caKey = runWithOpenSSL "ca.key" "openssl ecparam -name prime256v1 -genkey -noout -out $out"; caCert = runWithOpenSSL "ca.crt" '' caCert = runWithOpenSSL "ca.crt" '' openssl req -new -x509 -sha256 -key ${caKey} -out $out -subj "/CN=test.example" -days 36500 ''; serverKey = runWithOpenSSL "server.key" "openssl ecparam -name prime256v1 -genkey -noout -out $out"; serverKey = runWithOpenSSL "server.key" "openssl ecparam -name prime256v1 -genkey -noout -out $out"; serverKeyPath = "/var/lib/postgresql"; serverCert = runWithOpenSSL "server.crt" '' serverCert = runWithOpenSSL "server.crt" '' openssl req -new -sha256 -key ${serverKey} -out server.csr -subj "/CN=db.test.example" openssl x509 -req -in server.csr -CA ${caCert} -CAkey ${caKey} \ -CAcreateserial -out $out -days 36500 -sha256 ''; clientKey = runWithOpenSSL "client.key" "openssl ecparam -name prime256v1 -genkey -noout -out $out"; clientCert = runWithOpenSSL "client.crt" '' clientKey = runWithOpenSSL "client.key" "openssl ecparam -name prime256v1 -genkey -noout -out $out"; clientCert = runWithOpenSSL "client.crt" '' openssl req -new -sha256 -key ${clientKey} -out client.csr -subj "/CN=test" openssl x509 -req -in client.csr -CA ${caCert} -CAkey ${caKey} \ -CAcreateserial -out $out -days 36500 -sha256 ''; clientKeyPath = "/root"; makeTestFor = package: makeTestFor = package: makeTest { name = "postgresql-tls-client-cert-${package.name}"; meta.maintainers = with lib.maintainers; [ erictapen ]; nodes.server = { ... }: { nodes.server = { ... }: { system.activationScripts = { keyPlacement.text = '' mkdir -p '${serverKeyPath}' Loading Loading @@ -73,14 +71,19 @@ let networking = { interfaces.eth1 = { ipv6.addresses = [ { address = "fc00::1"; prefixLength = 120; } { address = "fc00::1"; prefixLength = 120; } ]; }; firewall.allowedTCPPorts = [ 5432 ]; }; }; nodes.client = { ... }: { nodes.client = { ... }: { system.activationScripts = { keyPlacement.text = '' mkdir -p '${clientKeyPath}' Loading @@ -105,10 +108,15 @@ let networking = { interfaces.eth1 = { ipv6.addresses = [ { address = "fc00::2"; prefixLength = 120; } { address = "fc00::2"; prefixLength = 120; } ]; }; hosts = { "fc00::1" = [ "db.test.example" ]; }; hosts = { "fc00::1" = [ "db.test.example" ]; }; }; }; Loading