Comments (5)
Hey @fopinappb ! Thanks for reporting - this is an interesting use case. Do you think that having SocketBlockedError
inherit from ConnectionRefusedError
instead of RuntimeError
would work here?
The original choice of RuntimeError was to raise the issue to the visibility of the operator that they had expressed a test condition without explicitly allowing it.
I was looking for ConnectionRefusedError
in tldextract and couldn't find it - could you share where you're seeing that exception raised?
from pytest-socket.
hey @miketheman I've been monkeypatching socket before I found this package (which I prefer now, for main tenability).
I also used a custom RuntimeError at first to easily spot the "unexpected internet usage" but then there were all these packages that used requests or urllib3 in background and handled requests
exceptions but not the rest.
And RuntimeError
are not supposed to be handled so requests/urllib3 do not indeed..
Switching to ConnectionRefusedError
(as an official exception thrown by socket.socket
) did sort it out, but I haven't checked exactly where...
For tldextract
specifically I believe it's here https://github.com/john-kurkowski/tldextract/blob/0b876fa863bc54fa86c2a4d8b4f58391873e2281/tldextract/suffix_list.py#L33-L34
A RuntimeError won't be a requests exception and won't land there.
Custom subclass of ConnectionRefusedError
should work. Can't be sure, but I guess it will land here in requests https://github.com/psf/requests/blob/1466ad713cf84738cd28f1224a7ab4a19e50e361/requests/adapters.py#L497-L498
so any socket error will be handled gracefully
from pytest-socket.
This issue is stale because it has been open for 90 days with no activity.
from pytest-socket.
This issue was closed because it has been inactive for 30 days since being marked as stale.
from pytest-socket.
not a good enough point? :)
from pytest-socket.
Related Issues (20)
- Incompatibility with pytest-flakes? HOT 2
- `remove_host_restrictions` functionality no longer in the public interface HOT 3
- 0.5.0: pytest is failing in `tests/test_async.py::test_starlette` unit HOT 4
- pytest-socket blocks retrieving other dependencies HOT 1
- Issue with sockets when trying to run Home Assistant tests HOT 2
- 0.5.1: pytest is failing in `tests/test_async.py::test_httpx_fails` unit HOT 11
- Question about asynctest and Python 3.8+ compatibility HOT 3
- Action Required: Fix Renovate Configuration
- dd-trace calls in separate thread do not fail test HOT 7
- Allow host masks HOT 2
- Allow private networks only HOT 5
- Issue with latest pytest-socket version while using testcontainers HOT 6
- Try replacement for httpbin HOT 1
- Do not install files directly to site-packages HOT 2
- --allow-hosts list is normalized but connection host is not HOT 5
- Update Python version support HOT 1
- vscode-python version 2023.20.0 breaks disable_socket expected behavior HOT 2
- Option to only block `connect` calls? HOT 2
- 0.7.0: test suite fails HOT 6
- Add similar mock
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pytest-socket.