diff --git a/pkgs/development/python-modules/testing-common-database/default.nix b/pkgs/development/python-modules/testing-common-database/default.nix new file mode 100644 index 000000000000..1d50ed1ec49d --- /dev/null +++ b/pkgs/development/python-modules/testing-common-database/default.nix @@ -0,0 +1,21 @@ +{ lib, buildPythonPackage, fetchPypi }: + +buildPythonPackage rec { + pname = "testing.common.database"; + version = "2.0.3"; + + src = fetchPypi { + inherit pname version; + sha256 = "0wvdv0frl7xib05sixjv9m6jywaa2wdhdhsqqdfk45akk2r80pcn"; + }; + + # There are no unit tests + doCheck = false; + + meta = with lib; { + description = "utilities for testing.* packages"; + homepage = "https://github.com/tk0miya/testing.common.database"; + license = licenses.asl20; + maintainers = with maintainers; [ jluttine ]; + }; +} diff --git a/pkgs/development/python-modules/testing-postgresql/default.nix b/pkgs/development/python-modules/testing-postgresql/default.nix new file mode 100644 index 000000000000..7ebff6ccc365 --- /dev/null +++ b/pkgs/development/python-modules/testing-postgresql/default.nix @@ -0,0 +1,37 @@ +{ lib, buildPythonPackage, fetchFromGitHub, postgresql, testing-common-database +, pg8000, pytestCheckHook, psycopg2, sqlalchemy }: + +buildPythonPackage rec { + pname = "testing.postgresql"; + # Version 1.3.0 isn't working so let's use the latest commit from GitHub + version = "unstable-2017-10-31"; + + src = fetchFromGitHub { + owner = "tk0miya"; + repo = pname; + rev = "c81ded434d00ec8424de0f9e1f4063c778c6aaa8"; + sha256 = "1asqsi38di768i1sc1qm1k068dj0906ds6lnx7xcbxws0s25m2q3"; + }; + + # Add PostgreSQL to search path + prePatch = '' + substituteInPlace src/testing/postgresql.py \ + --replace "/usr/local/pgsql" "${postgresql}" + ''; + + propagatedBuildInputs = [ testing-common-database pg8000 ]; + + # Fix tests for Darwin build. See: + # https://github.com/NixOS/nixpkgs/pull/74716#issuecomment-598546916 + __darwinAllowLocalNetworking = true; + + checkInputs = [ pytestCheckHook psycopg2 sqlalchemy ]; + + meta = with lib; { + description = "Use temporary postgresql instance in testing"; + homepage = "https://github.com/tk0miya/testing.postgresql"; + license = licenses.asl20; + platforms = platforms.linux; + maintainers = with maintainers; [ jluttine ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d6e447af2c98..4f0aa4b38ef7 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7611,6 +7611,10 @@ in { textfsm = callPackage ../development/python-modules/textfsm { }; + testing-common-database = callPackage ../development/python-modules/testing-common-database { }; + + testing-postgresql = callPackage ../development/python-modules/testing-postgresql { }; + testpath = callPackage ../development/python-modules/testpath { }; testrepository = callPackage ../development/python-modules/testrepository { };