2021-03-07 15:21:46 +00:00
|
|
|
{ lib
|
|
|
|
, buildPythonPackage
|
|
|
|
, fetchPypi
|
|
|
|
, pythonOlder
|
|
|
|
, isPy3k
|
2020-08-17 13:39:58 +01:00
|
|
|
, decorator
|
2020-09-22 01:39:57 +01:00
|
|
|
, http-parser
|
2020-08-17 13:39:58 +01:00
|
|
|
, python_magic
|
2021-01-16 12:03:51 +00:00
|
|
|
, urllib3
|
|
|
|
, pytestCheckHook
|
|
|
|
, pytest-mock
|
|
|
|
, aiohttp
|
|
|
|
, gevent
|
|
|
|
, redis
|
|
|
|
, requests
|
|
|
|
, sure
|
2021-03-07 15:21:46 +00:00
|
|
|
, pook
|
2021-01-16 12:03:51 +00:00
|
|
|
}:
|
2020-08-17 13:39:58 +01:00
|
|
|
|
|
|
|
buildPythonPackage rec {
|
|
|
|
pname = "mocket";
|
2021-09-23 19:09:22 +01:00
|
|
|
version = "3.10.0";
|
2021-03-07 15:21:46 +00:00
|
|
|
disabled = !isPy3k;
|
2020-08-17 13:39:58 +01:00
|
|
|
|
|
|
|
src = fetchPypi {
|
|
|
|
inherit pname version;
|
2021-09-23 19:09:22 +01:00
|
|
|
sha256 = "1fcb4203ae257145b97c865135b3a064b47f20f42dde88c8579f43d88f1a7dfb";
|
2020-08-17 13:39:58 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
propagatedBuildInputs = [
|
|
|
|
decorator
|
2020-09-22 01:39:57 +01:00
|
|
|
http-parser
|
2020-08-17 13:39:58 +01:00
|
|
|
python_magic
|
|
|
|
urllib3
|
2021-03-07 15:21:46 +00:00
|
|
|
];
|
2020-08-17 13:39:58 +01:00
|
|
|
|
2021-01-16 12:03:51 +00:00
|
|
|
checkInputs = [
|
|
|
|
pytestCheckHook
|
|
|
|
pytest-mock
|
|
|
|
aiohttp
|
|
|
|
gevent
|
|
|
|
redis
|
|
|
|
requests
|
|
|
|
sure
|
2021-03-07 15:21:46 +00:00
|
|
|
pook
|
2021-01-16 12:03:51 +00:00
|
|
|
];
|
|
|
|
|
|
|
|
pytestFlagsArray = [
|
2021-03-07 15:21:46 +00:00
|
|
|
# Requires a live Redis instance
|
|
|
|
"--ignore=tests/main/test_redis.py"
|
2021-01-16 12:03:51 +00:00
|
|
|
] ++ lib.optionals (pythonOlder "3.8") [
|
2021-03-07 15:21:46 +00:00
|
|
|
# Uses IsolatedAsyncioTestCase which is only available >= 3.8
|
2021-01-16 12:03:51 +00:00
|
|
|
"--ignore=tests/tests38/test_http_aiohttp.py"
|
|
|
|
];
|
|
|
|
|
|
|
|
disabledTests = [
|
|
|
|
# tests that require network access (like DNS lookups)
|
|
|
|
"test_truesendall"
|
|
|
|
"test_truesendall_with_chunk_recording"
|
|
|
|
"test_truesendall_with_gzip_recording"
|
|
|
|
"test_truesendall_with_recording"
|
|
|
|
"test_wrongpath_truesendall"
|
|
|
|
"test_truesendall_with_dump_from_recording"
|
|
|
|
"test_truesendall_with_recording_https"
|
|
|
|
"test_truesendall_after_mocket_session"
|
|
|
|
"test_real_request_session"
|
2021-03-07 15:21:46 +00:00
|
|
|
"test_asyncio_record_replay"
|
2021-01-16 12:03:51 +00:00
|
|
|
];
|
2020-08-17 13:39:58 +01:00
|
|
|
|
|
|
|
pythonImportsCheck = [ "mocket" ];
|
|
|
|
|
|
|
|
meta = with lib; {
|
|
|
|
description = "A socket mock framework - for all kinds of socket animals, web-clients included";
|
|
|
|
homepage = "https://github.com/mindflayer/python-mocket";
|
|
|
|
license = licenses.bsd3;
|
|
|
|
maintainers = with maintainers; [ hexa ];
|
|
|
|
};
|
|
|
|
}
|