Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / python-modules / splinter / default.nix
bloba65cf3a3f44531fddb6add3ed8845a3ab14a22a6
1 { lib
2 , buildPythonPackage
3 , isPy27
4 , fetchFromGitHub
5 , urllib3
6 , selenium
7 , cssselect
8 , django
9 , flask
10 , lxml
11 , pytestCheckHook
12 , zope-testbrowser
15 buildPythonPackage rec {
16   pname = "splinter";
17   version = "0.19.0";
19   disabled = isPy27;
21   format = "setuptools";
23   src = fetchFromGitHub {
24     owner = "cobrateam";
25     repo = "splinter";
26     rev = "refs/tags/${version}";
27     hash = "sha256-K10zrQOM/khVcf+OT4s5UCY8zE2+nWtaAkRLy9/feU0=";
28   };
30   propagatedBuildInputs = [
31     urllib3
32   ];
34   passthru.optional-dependencies = {
35     "zope.testbrowser" = [ zope-testbrowser lxml cssselect ];
36     django = [ django lxml cssselect ];
37     flask = [ flask lxml cssselect ];
38     selenium = [ selenium ];
39   };
41   nativeCheckInputs = [
42     pytestCheckHook
43   ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
45   disabledTests = [
46     # driver is present and fails with a different error during loading
47     "test_browser_local_driver_not_present"
48     "test_browser_log_missing_drivers"
49     "test_local_driver_not_present"
50   ];
52   disabledTestPaths = [
53     "samples"
54     # We run neither Chromium nor Firefox nor ...
55     "tests/test_async_finder.py"
56     "tests/test_element_is_visible.py"
57     "tests/test_html_snapshot.py"
58     "tests/test_iframes.py"
59     "tests/test_mouse_interaction.py"
60     "tests/test_popups.py"
61     "tests/test_screenshot.py"
62     "tests/test_shadow_root.py"
63     "tests/test_webdriver.py"
64     "tests/test_webdriver_chrome.py"
65     "tests/test_webdriver_edge_chromium.py"
66     "tests/test_webdriver_firefox.py"
67     "tests/test_webdriver_remote.py"
68   ];
70   pythonImportsCheck = [ "splinter" ];
72   meta = with lib; {
73     description = "Browser abstraction for web acceptance testing";
74     homepage = "https://github.com/cobrateam/splinter";
75     license = licenses.bsd3;
76     maintainers = with maintainers; [ dotlambda ];
77   };