diff --git a/pkgs/development/python-modules/zope-testbrowser/default.nix b/pkgs/development/python-modules/zope-testbrowser/default.nix new file mode 100644 index 00000000000..31de6e28f2e --- /dev/null +++ b/pkgs/development/python-modules/zope-testbrowser/default.nix @@ -0,0 +1,75 @@ +{ lib +, buildPythonPackage +, fetchPypi +, setuptools +, zope_interface +, zope_schema +, zope-cachedescriptors +, pytz +, webtest +, beautifulsoup4 +, soupsieve +, wsgiproxy2 +, six +, mock +, zope_testing +, zope_testrunner +, python +}: + +buildPythonPackage rec { + pname = "zope-testbrowser"; + version = "5.6.1"; + + format = "setuptools"; + + src = fetchPypi { + pname = "zope.testbrowser"; + inherit version; + sha256 = "035bf63d9f7244e885786c3327448a7d9fff521dba596429698b8474961b05e7"; + }; + + postPatch = '' + # remove test that requires network access + substituteInPlace src/zope/testbrowser/tests/test_doctests.py \ + --replace "suite.addTests(wire)" "" + ''; + + propagatedBuildInputs = [ + setuptools + zope_interface + zope_schema + zope-cachedescriptors + pytz + webtest + beautifulsoup4 + soupsieve + wsgiproxy2 + six + ]; + + checkInputs = [ + mock + zope_testing + zope_testrunner + ]; + + checkPhase = '' + ${python.interpreter} -m zope.testrunner --test-path=src + ''; + + pythonImportsCheck = [ + "zope.testbrowser" + "zope.testbrowser.browser" + "zope.testbrowser.interfaces" + "zope.testbrowser.testing" + "zope.testbrowser.wsgi" + ]; + + meta = { + description = "Programmable browser for functional black-box tests"; + homepage = "https://github.com/zopefoundation/zope.testbrowser"; + license = lib.licenses.zpl21; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 024f9c5dd5c..78167b9bb94 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11671,6 +11671,8 @@ in { zope_size = callPackage ../development/python-modules/zope_size { }; + zope-testbrowser = callPackage ../development/python-modules/zope-testbrowser { }; + zope_testing = callPackage ../development/python-modules/zope_testing { }; zope_testrunner = callPackage ../development/python-modules/zope_testrunner { };