diff --git a/pkgs/development/python-modules/pytest-recording/default.nix b/pkgs/development/python-modules/pytest-recording/default.nix new file mode 100644 index 000000000000..7aab7a2804fa --- /dev/null +++ b/pkgs/development/python-modules/pytest-recording/default.nix @@ -0,0 +1,64 @@ +{ lib +, stdenv +, buildPythonPackage +, fetchFromGitHub +# install dependencies +, pytest +, vcrpy +, attrs +# test dependencies +, pytestCheckHook +, pytest-httpbin +, pytest-mock +, requests +}: + +buildPythonPackage rec { + pname = "pytest-recording"; + version = "0.12.2"; + + src = fetchFromGitHub { + owner = "kiwicom"; + repo = "pytest-recording"; + rev = "v${version}"; + hash = "sha256-nivwxaW8AIrBtPkzPJYfxlPxWn2NuYcaMry/IrBnnl0="; + }; + + buildInputs = [ + pytest + ]; + + propagatedBuildInputs = [ + vcrpy + attrs + ]; + + checkInputs = [ + pytestCheckHook + pytest-httpbin + pytest-mock + requests + ]; + + disabledTests = [ + "test_block_network_with_allowed_hosts" + ] ++ lib.optionals stdenv.isDarwin [ + # Missing socket.AF_NETLINK + "test_other_socket" + ]; + + pytestFlagsArray = [ + "tests" + ]; + + pythonImportsCheck = [ + "pytest_recording" + ]; + + meta = with lib; { + description = "A pytest plugin that allows you recording of network interactions via VCR.py"; + homepage = "https://github.com/kiwicom/pytest-recording"; + license = licenses.mit; + maintainers = with maintainers; [ dennajort ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 786049d35af8..07740943d74b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9184,6 +9184,8 @@ self: super: with self; { pytest-random-order = callPackage ../development/python-modules/pytest-random-order { }; + pytest-recording = callPackage ../development/python-modules/pytest-recording { }; + pytest-regressions = callPackage ../development/python-modules/pytest-regressions { }; pytest-relaxed = callPackage ../development/python-modules/pytest-relaxed { };