-
Notifications
You must be signed in to change notification settings - Fork 118
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add connection error support #377
Merged
macisamuele
merged 6 commits into
Yelp:master
from
macisamuele:maci-add-connection-error-support
Jun 25, 2018
Merged
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
40589c7
Re-organize integration tests to expose a single Generic test class a…
macisamuele d85a50b
Re-organize how timeout errors are reraised (generalized to better ac…
macisamuele c2da0b9
Add hack to allow all exceptions to be extended
macisamuele 2fb2c9f
Add generalized connection errors support
macisamuele d75d8ea
Define connection errors for requests_client
macisamuele f1ea220
Define connection errors for fido_client
macisamuele File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,27 @@ | ||
# -*- coding: utf-8 -*- | ||
import fido.exceptions | ||
import twisted.internet.error | ||
import twisted.web.client | ||
|
||
from bravado.fido_client import FidoClient | ||
from bravado.fido_client import FidoFutureAdapter | ||
from tests.integration import requests_client_test | ||
|
||
|
||
class TestServerFidoClient(requests_client_test.TestServerRequestsClient): | ||
class TestServerFidoClient(requests_client_test.ServerClientGeneric): | ||
|
||
http_client_type = FidoClient | ||
http_future_adapter_type = FidoFutureAdapter | ||
connection_errors_exceptions = { | ||
fido.exceptions.TCPConnectionError(), | ||
twisted.internet.error.ConnectingCancelledError('address'), | ||
twisted.internet.error.DNSLookupError(), | ||
twisted.web.client.RequestNotSent(), | ||
} | ||
|
||
@classmethod | ||
def encode_expected_response(cls, response): | ||
return response | ||
|
||
def cancel_http_future(self, http_future): | ||
http_future.future._eventual_result.cancel() |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could we make this code backwards compatible? I think something like
I don't think it's a problem to use whatever the value of that attribute is if it is defined.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure ... keeping backward compatibility is something to aim for :)
I'm not against using
getattr
but I would understand how the change could provide backward incompatible changes (so next time I'll think to it too)There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We talked about it and well the change is backward compatible as
self.future
in an instance ofbravado.http_future. FutureAdapter
which defines those attributes.So even if http clients are not defining them the attribute will be available with an empty tuple as default value