aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/python/grpcio_tests/tests/unit
Commit message (Collapse)AuthorAge
...
| | * Check conformance to grpc.GenericRpcHandler typeGravatar Nathaniel Manista2018-06-08
| |/ |/|
| * Remove unused _junkdrawerGravatar Mehrdad Afshari2018-06-07
| |
* | TLS session resumption support for Python clientsGravatar Santosh Ananthakrishnan2018-06-07
|/ | | | | | | | This change adds an experimental ssl_session_cache_lru function to the Python API that returns an encapsulated grpc_ssl_session_cache (#14483). Python clients may use this object as an argument for the grpc.ssl_session_cache channel option if they wish to cache and resume TLS sessions with a server.
* Surfaces debug_error_string to Python APIGravatar Noah Eisen2018-05-17
| | | | | In case of error, the user can access call.debug_error_string() which contains a string representation of error from the c core.
* Merge remote-tracking branch 'upstream/master' into remove_cleanup_threadGravatar kpayson642018-05-03
|\
| * Add grpc.Channel.closeGravatar Nathaniel Manista2018-05-02
| |
| * Keep Core memory inside cygrpc.Channel objectsGravatar Nathaniel Manista2018-05-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes invocation-side completion queues from the _cygrpc API. Invocation-side calls are changed to no longer share the same lifetime as Core calls. Illegal metadata is now detected on invocation rather than at the start of a batch (so passing illegal metadata to a response-streaming method will now raise an exception immediately rather than later on when attempting to read the first response message). It is no longer possible to create a call without immediately starting at least one batch of operations on it. Only tests are affected by this change; there are no real use cases in which one wants to start a call but wait a little while before learning that the server has rejected it. It is now required that code above cygrpc.Channel spend threads on next_event whenever events are pending. A cygrpc.Channel.close method is introduced, but it merely blocks until the cygrpc.Channel's completion queues are drained; it does not itself drain them. Noteworthy here is that we drop the cygrpc.Channel.__dealloc__ method. It is not the same as __del__ (which is not something that can be added to cygrpc.Channel) and there is no guarantee that __dealloc__ will be called at all or that it will be called while the cygrpc.Channel instance's Python attributes are intact (in testing, I saw both in different environments). This commit does not knowingly break any garbage-collection-based memory management working (or "happening to appear to work in some circumstances"), though if it does, the proper remedy is to call grpc.Channel.close... which is the objective towards which this commit builds.
* | Remove CleanupThreadGravatar kpayson642018-04-30
|/ | | | | This is no longer needed with the addition of a close() API that allows clean shutdown.
* Eliminate broad-except suppressionGravatar Mehrdad Afshari2018-04-19
|
* Eliminate wildcard-import suppressionGravatar Mehrdad Afshari2018-04-19
|
* Eliminate unnecessary-lambda suppressionGravatar Mehrdad Afshari2018-04-19
|
* Eliminate non-iterator-returned suppressionGravatar Mehrdad Afshari2018-04-19
|
* Eliminate undefined-loop-variable suppressionGravatar Mehrdad Afshari2018-04-19
|
* Eliminate raising-bad-type suppressionGravatar Mehrdad Afshari2018-04-19
|
* Eliminate unreachable suppressionGravatar Mehrdad Afshari2018-04-19
|
* Fix a use of nonexistent .received_cancelledGravatar Nathaniel Manista2018-04-17
| | | | | | .received_cancelled was changed to .cancelled() in 81edf5ff9af2d90813773acb9c2793e1a4cd1057; this change should have been a part of that change.
* Merge pull request #14765 from grpc/revert-14687-early-okGravatar Noah Eisen2018-03-21
|\ | | | | Revert "Verify early OK behavior"
| * Revert "Verify early OK behavior"Gravatar Noah Eisen2018-03-20
| |
* | [grpc] Add SSL session client cache supportGravatar Ruslan Nigmatullin2018-03-20
|/
* Remove _face_interface_testGravatar Nathaniel Manista2018-03-13
| | | | | | | | The Beta API has an execution date and RPC Framework is but a distant memory. This test is flaky with Python 3.5 on Windows! Some mysteries will just have to remain unsolved...
* Verify early OK behaviorGravatar Nathaniel Manista2018-03-13
| | | | | | | | | | Looks like early OK support was implemented in https://github.com/grpc/grpc/pull/14080 but https://github.com/grpc/grpc/issues/7032 was not marked fixed at the time. Good thing it was just an idea on our Google Summer of Code ideas page...
* Remove Python background poller threadGravatar Ken Payson2018-02-20
|
* Sleep a second to deflake ReconnectTestGravatar Mehrdad Afshari2018-02-06
| | | | | | | | | The thread that watches connectivity on the channel might not pick up that the server has gone away before the request is dispatched, and return UNAVAILABLE instead of reconnecting prior to sending the request. The fundamental solution would basically be enabling retries in C-core. For now, we opt to sleep a second to deflake this particular test case.
* Merge pull request #14107 from nathanielmanistaatgoogle/12531Gravatar Nathaniel Manista2018-01-26
|\ | | | | Elide cygrpc.ChannelArg and cygrpc.ChannelArgs.
| * Elide cygrpc.ChannelArg and cygrpc.ChannelArgsGravatar Nathaniel Manista2018-01-26
| |
* | Merge pull request #13965 from evanj/python-abort-fixGravatar kpayson642018-01-12
|\ \ | |/ |/| python: Context.abort should fail RPC even for StatusCode.OK
| * python: Context.abort should fail RPC even for StatusCode.OKGravatar Evan Jones2018-01-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | grpc.ServicerContext.abort is documented to always raise an exception to terminate the RPC. The code argument "must not be StatusCode.OK." However, if you do pass StatusCode.OK, the RPC terminates successfully on the client side, but returns None. _server.py: If the user accidentally passes StatusCode.OK, treat it as StatusCode.UNKNOWN. This is what happens if the user accidentally passes something that is not a StatusCode instance. Additionally set details to ''. _metadata_code_details_test.py: update test to verify the behavior of abort with invalid codes.
* | Elide cygrpc.TimespecGravatar Nathaniel Manista2018-01-10
|/
* Upgrade yapf to 0.20.0Gravatar Mehrdad Afshari2018-01-02
| | | | Upgrade yapf version to 0.20.0 and reformat Python files.
* Merge pull request #13891 from nathanielmanistaatgoogle/12531Gravatar Nathaniel Manista2017-12-31
|\ | | | | Reform cygrpc.OperationTag and cygrpc.Event.
* \ Merge branch v1.8.x into masterGravatar Mehrdad Afshari2017-12-31
|\ \ | | | | | | | | | Upmerge v1.8.3 into master
| | * Reform cygrpc.OperationTag and cygrpc.EventGravatar Nathaniel Manista2017-12-31
| |/ | | | | | | | | | | Rather than single classes they are now broken up into class families with each class containing only those fields and methods that are needed in the context in which the class is used.
| * Reform cygrpc.OperationGravatar Nathaniel Manista2017-12-21
| | | | | | | | | | | | | | | | | | It is now a family of classes conforming to an interface rather than a single class no single instance of which makes use of all behavior scoped to the class. It also now only uses gRPC Core memory for the time of a single batch rather than for the entire lifetime of the instance.
* | Fix port picking logic in Python testsGravatar Mehrdad Afshari2017-12-20
| |
* | Merge pull request #13843 from kpayson64/fix_python_testsGravatar kpayson642017-12-20
|\ \ | |/ |/| Disable so_reuseport for Python tests
| * Disable so_reuseport for Python testsGravatar Ken Payson2017-12-20
| |
* | Reallow out-of-spec metadataGravatar Nathaniel Manista2017-12-14
|/ | | | | | This restore unsupported, de facto behavior that was dropped in 80516e884a8cd03daaa1f4a40d2bb2 but that it turns out a lot of folks have been using.
* Add tests for gRPC Python interceptor machineryGravatar Mehrdad Afshari2017-12-12
|
* Add gRPC Python client-side interceptor machineryGravatar Mehrdad Afshari2017-12-12
|
* Add gRPC Python service-side interceptor machineryGravatar Mehrdad Afshari2017-12-12
|
* Refactor: Rename call to response_iterator_callGravatar Mehrdad Afshari2017-12-10
| | | | Rename call to response_iterator_call file-wide for response-streaming tests.
* Tests for ServicerContext.abortGravatar Mehrdad Afshari2017-12-10
|
* Merge pull request #13688 from nathanielmanistaatgoogle/12531Gravatar Nathaniel Manista2017-12-08
|\ | | | | Elide cygrpc.Operations.
| * Elide cygrpc.OperationsGravatar Nathaniel Manista2017-12-08
| |
* | Merge pull request #13672 from nathanielmanistaatgoogle/12531Gravatar Nathaniel Manista2017-12-08
|\| | | | | Streamline metadata in gRPC Python.
| * Streamline metadata in gRPC PythonGravatar Nathaniel Manista2017-12-08
| |
* | Return UNKNOWN on GenericRpcHandler failureGravatar Mehrdad Afshari2017-12-04
|/ | | | | | | | | | A GenericRpcHandler registered on a gRPC Server is not supposed to raise an exception and if it does so it is considered a programming defect. However, gRPC is supposed to respond to the client with an UNKNOWN status code. Previously, this situation was left unhandled and the client ended up receiving a response with CANCELLED status code. This commit fixes the issue https://github.com/grpc/grpc/issues/13629.
* Change client-side credentials' use of gRPC CoreGravatar Nathaniel Manista2017-12-03
| | | | | | Rather than allocating gRPC Core memory when instantiated and retaining it until deleted, gRPC Python's credentials objects now offer methods to create gRPC Core structures on demand.
* Correct AccessTokenAuthMetadataPlugin nameGravatar Nathaniel Manista2017-12-01
| | | | It was never itself a "call credentials" of any sort.
* Avoid abbreviation in Python APIGravatar Nathaniel Manista2017-11-21
| | | | | I should have requested this during code review of bcf083fa9099e5c919 but it slipped my mind.