Unverified Commit db2d6a00 authored by Wolfgang Walther's avatar Wolfgang Walther
Browse files

postgresqlPackages.anonymizer: make passthru.tests work with correct package

Same reasoning as commit before.
parent 23c19a25
Loading
Loading
Loading
Loading
+110 −93
Original line number Diff line number Diff line
import ./make-test-python.nix ({ pkgs, lib, ... }: {
  name = "pg_anonymizer";
{ system ? builtins.currentSystem
, config ? {}
, pkgs ? import ../.. { inherit system config; }
}:

with import ../lib/testing-python.nix { inherit system pkgs; };

let
  inherit (pkgs) lib;

  makeAnonymizerTest = postgresqlPackage:
    makeTest {
      name = "pg_anonymizer-${postgresqlPackage.name}";
      meta.maintainers = lib.teams.flyingcircus.members;

      nodes.machine = { pkgs, ... }: {
        environment.systemPackages = [ pkgs.pg-dump-anon ];
        services.postgresql = {
          enable = true;
          package = postgresqlPackage;
          extraPlugins = ps: [ ps.anonymizer ];
          settings.shared_preload_libraries = [ "anon" ];
        };
@@ -91,4 +103,9 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
            machine.succeed("sudo -u postgres psql -d demo --command 'select anon.anonymize_database();'")
            check_anonymized_rows(get_player_table_contents())
      '';
})
    };
in
pkgs.lib.concatMapAttrs (n: p: { ${n} = makeAnonymizerTest p; }) pkgs.postgresqlVersions
// {
  passthru.override = p: makeAnonymizerTest p;
}
+4 −2
Original line number Diff line number Diff line
{ lib, stdenv, pg-dump-anon, postgresql, runtimeShell, jitSupport, llvm }:
{ lib, stdenv, pg-dump-anon, postgresql, runtimeShell, jitSupport, llvm, nixosTests }:

stdenv.mkDerivation (finalAttrs: {
  pname = "postgresql_anonymizer";

  inherit (pg-dump-anon) version src passthru;
  inherit (pg-dump-anon) version src;

  buildInputs = [ postgresql ];
  nativeBuildInputs = [ postgresql ] ++ lib.optional jitSupport llvm;
@@ -26,6 +26,8 @@ stdenv.mkDerivation (finalAttrs: {
    EOF
  '';

  passthru.tests = nixosTests.pg_anonymizer.passthru.override postgresql;

  meta = lib.getAttrs [ "homepage" "maintainers" "license" ] pg-dump-anon.meta // {
    description = "Extension to mask or replace personally identifiable information (PII) or commercially sensitive data from a PostgreSQL database";
  };