1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 fetchpatch,
6 attrs,
7 funcsigs,
8 requests-mock,
9 pytestCheckHook,
10}:
11
12buildPythonPackage rec {
13 pname = "mock-services";
14 version = "0.3.1";
15 format = "setuptools";
16
17 src = fetchFromGitHub {
18 owner = "peopledoc";
19 repo = "mock-services";
20 rev = version;
21 sha256 = "1rqyyfwngi1xsd9a81irjxacinkj1zf6nqfvfxhi55ky34x5phf9";
22 };
23
24 patches = [
25 # Fix issues due to internal API breaking in latest versions of requests-mock
26 (fetchpatch {
27 url = "https://github.com/peopledoc/mock-services/commit/88d3a0c9ef4dd7d5e011068ed2fdbbecc4a1a03a.patch";
28 sha256 = "0a4pwxr33kr525sp8q4mb4cr3n2b51mj2a3052lhg6brdbi4gnms";
29 })
30 ];
31
32 propagatedBuildInputs = [
33 attrs
34 funcsigs
35 requests-mock
36 ];
37
38 nativeCheckInputs = [ pytestCheckHook ];
39
40 disabledTests = [
41 # require networking
42 "test_real_http_1"
43 "test_restart_http_mock"
44 "test_start_http_mock"
45 "test_stop_http_mock"
46 ];
47
48 pythonImportsCheck = [ "mock_services" ];
49
50 meta = with lib; {
51 description = "Mock an entire service API based on requests-mock";
52 homepage = "https://github.com/peopledoc/mock-services";
53 license = licenses.mit;
54 maintainers = with maintainers; [ dotlambda ];
55 };
56}