1{ 2 lib, 3 buildPythonPackage, 4 fetchPypi, 5 setuptools, 6 zope-interface, 7 zope-schema, 8 zope-cachedescriptors, 9 pytz, 10 webtest, 11 beautifulsoup4, 12 soupsieve, 13 wsgiproxy2, 14 six, 15 mock, 16 zope-testing, 17 zope-testrunner, 18 python, 19}: 20 21buildPythonPackage rec { 22 pname = "zope-testbrowser"; 23 version = "6.0"; 24 25 format = "setuptools"; 26 27 src = fetchPypi { 28 pname = "zope.testbrowser"; 29 inherit version; 30 sha256 = "sha256-RLd6XpA3q+3DZHai6j3H6XTWE85Sk913zAL4iO4x+ho="; 31 }; 32 33 postPatch = '' 34 # remove test that requires network access 35 substituteInPlace src/zope/testbrowser/tests/test_doctests.py \ 36 --replace "suite.addTests(wire)" "" 37 ''; 38 39 propagatedBuildInputs = [ 40 setuptools 41 zope-interface 42 zope-schema 43 zope-cachedescriptors 44 pytz 45 webtest 46 beautifulsoup4 47 soupsieve 48 wsgiproxy2 49 six 50 ]; 51 52 nativeCheckInputs = [ 53 mock 54 zope-testing 55 zope-testrunner 56 ]; 57 58 checkPhase = '' 59 ${python.interpreter} -m zope.testrunner --test-path=src 60 ''; 61 62 pythonImportsCheck = [ 63 "zope.testbrowser" 64 "zope.testbrowser.browser" 65 "zope.testbrowser.interfaces" 66 "zope.testbrowser.testing" 67 "zope.testbrowser.wsgi" 68 ]; 69 70 meta = { 71 description = "Programmable browser for functional black-box tests"; 72 homepage = "https://github.com/zopefoundation/zope.testbrowser"; 73 license = lib.licenses.zpl21; 74 maintainers = with lib.maintainers; [ dotlambda ]; 75 }; 76}