-
Notifications
You must be signed in to change notification settings - Fork 131
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 DaprInternalError.as_json_safe_dict for actors #765
Add DaprInternalError.as_json_safe_dict for actors #765
Conversation
The FastAPI and Flask extensions for actors serialise the value of any raised DaprInternalError to JSON, which fails if the error contains bytes in its `_raw_response_bytes` field. This change adds a new `as_json_safe_dict` method and uses it in place of the `as_dict` method in the FastAPI and Flask extensions. Two unit tests for the `as_json_safe_dict` method are included. Signed-off-by: Billy Brown <[email protected]>
@holopin-bot @Druid-of-Luhn Thanks for your contribution! |
Looks like @elena-kolevska is trying to award a sticker, but something went wrong while doing so. See this page for more information. |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #765 +/- ##
==========================================
- Coverage 86.63% 86.13% -0.50%
==========================================
Files 84 89 +5
Lines 4473 4978 +505
==========================================
+ Hits 3875 4288 +413
- Misses 598 690 +92 ☔ View full report in Codecov by Sentry. |
Thanks @elena-kolevska for your suggested approach in the original issue! It was also quite a nice codebase to contribute to. |
@holopin-bot @Druid-of-Luhn Thank you! Here's a digital badge as a small token of appreciation. |
Congratulations @Druid-of-Luhn, the maintainer of this repository has issued you a badge! Here it is: https://holopin.io/claim/cm5qyr2bl55350clbu2bfdb2u This badge can only be claimed by you, so make sure that your GitHub account is linked to your Holopin account. You can manage those preferences here: https://holopin.io/account. |
The FastAPI and Flask extensions for actors serialise the value of any raised DaprInternalError to JSON, which fails if the error contains bytes in its `_raw_response_bytes` field. This change adds a new `as_json_safe_dict` method and uses it in place of the `as_dict` method in the FastAPI and Flask extensions. Two unit tests for the `as_json_safe_dict` method are included. Signed-off-by: Billy Brown <[email protected]> Co-authored-by: Elena Kolevska <[email protected]> Signed-off-by: Elena Kolevska <[email protected]>
* Removes support for 3.8 and adds 3.13 to test version matrix (#763) Signed-off-by: Elena Kolevska <[email protected]> * Updates protos and fixes grpc-tools for protos generation (#766) * Updates protos and fixes grpc-tools for protos generation Signed-off-by: Elena Kolevska <[email protected]> * bumps grpcio tools version Signed-off-by: Elena Kolevska <[email protected]> --------- Signed-off-by: Elena Kolevska <[email protected]> * Add DaprInternalError.as_json_safe_dict for actors (#765) The FastAPI and Flask extensions for actors serialise the value of any raised DaprInternalError to JSON, which fails if the error contains bytes in its `_raw_response_bytes` field. This change adds a new `as_json_safe_dict` method and uses it in place of the `as_dict` method in the FastAPI and Flask extensions. Two unit tests for the `as_json_safe_dict` method are included. Signed-off-by: Billy Brown <[email protected]> Co-authored-by: Elena Kolevska <[email protected]> Signed-off-by: Elena Kolevska <[email protected]> * workflows: update durabletask dependency (#757) * Bump codecov/codecov-action from 4 to 5 (#753) Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md) - [Commits](codecov/codecov-action@v4...v5) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Elena Kolevska <[email protected]> * update durabletask to use fork Signed-off-by: Fabian Martinez <[email protected]> Signed-off-by: Elena Kolevska <[email protected]> * add purge workflow function Signed-off-by: Fabian Martinez <[email protected]> Signed-off-by: Elena Kolevska <[email protected]> * support reuse id policy Signed-off-by: Fabian Martinez <[email protected]> Signed-off-by: Elena Kolevska <[email protected]> * support set custom status Signed-off-by: Fabian Martinez <[email protected]> Signed-off-by: Elena Kolevska <[email protected]> * Update ext/dapr-ext-workflow/dapr/ext/workflow/dapr_workflow_client.py Co-authored-by: Elena Kolevska <[email protected]> Signed-off-by: Fabian Martinez <[email protected]> Signed-off-by: Elena Kolevska <[email protected]> * Update ext/dapr-ext-workflow/dapr/ext/workflow/dapr_workflow_client.py Co-authored-by: Elena Kolevska <[email protected]> Signed-off-by: Fabian Martinez <[email protected]> Signed-off-by: Elena Kolevska <[email protected]> * Update ext/dapr-ext-workflow/tests/test_workflow_client.py Co-authored-by: Elena Kolevska <[email protected]> Signed-off-by: Fabian Martinez <[email protected]> Signed-off-by: Elena Kolevska <[email protected]> * Update ext/dapr-ext-workflow/dapr/ext/workflow/dapr_workflow_client.py Co-authored-by: Elena Kolevska <[email protected]> Signed-off-by: Fabian Martinez <[email protected]> Signed-off-by: Elena Kolevska <[email protected]> * update test, grpc version and lint Signed-off-by: Fabian Martinez <[email protected]> Signed-off-by: Elena Kolevska <[email protected]> * Adds missing arguments in FakeTaskHubGrpcClient Signed-off-by: Elena Kolevska <[email protected]> * linter Signed-off-by: Elena Kolevska <[email protected]> * remove alpha for workflow stable release (#760) Signed-off-by: Hannah Hunter <[email protected]> Signed-off-by: Elena Kolevska <[email protected]> * Replace deprecated tox.ini option (#762) This option was replaced in 2020, deprecated, and eventually removed in tox 4. The correct option already appears elseware in this tox.ini file. This fix is necessary to run `tox -e doc` per the README.md instructions on tox 4. Signed-off-by: Eric Searcy <[email protected]> Co-authored-by: Elena Kolevska <[email protected]> Signed-off-by: Elena Kolevska <[email protected]> * Add Actor Mocks (#750) * Moved files to new branch to avoid weird git bug Signed-off-by: Lorenzo Curcio <[email protected]> * requested documentation changes Signed-off-by: Lorenzo Curcio <[email protected]> * forgot to move file back to starting point Signed-off-by: Lorenzo Curcio <[email protected]> * result of ruff format Signed-off-by: Lorenzo Curcio <[email protected]> * fixed minor formatting issues, fixed type issues Signed-off-by: Lorenzo Curcio <[email protected]> * minor test fix Signed-off-by: Lorenzo Curcio <[email protected]> * fixes try_add_state Signed-off-by: Elena Kolevska <[email protected]> Signed-off-by: Lorenzo Curcio <[email protected]> * Revert "fixes try_add_state" This reverts commit 254ad17. Signed-off-by: Lorenzo Curcio <[email protected]> * Update dapr/actor/runtime/mock_state_manager.py Fixing bug in try_add_state as mentioned in PR #756 Co-authored-by: Elena Kolevska <[email protected]> Signed-off-by: Lorenzo Curcio <[email protected]> Signed-off-by: Lorenzo Curcio <[email protected]> * Update dapr/actor/runtime/mock_actor.py Whoops missed this Co-authored-by: Elena Kolevska <[email protected]> Signed-off-by: Lorenzo Curcio <[email protected]> * Update daprdocs/content/en/python-sdk-docs/python-actor.md Co-authored-by: Elena Kolevska <[email protected]> Signed-off-by: Lorenzo Curcio <[email protected]> * Update daprdocs/content/en/python-sdk-docs/python-actor.md Co-authored-by: Elena Kolevska <[email protected]> Signed-off-by: Lorenzo Curcio <[email protected]> * Update daprdocs/content/en/python-sdk-docs/python-actor.md Co-authored-by: Elena Kolevska <[email protected]> Signed-off-by: Lorenzo Curcio <[email protected]> * Update daprdocs/content/en/python-sdk-docs/python-actor.md Co-authored-by: Elena Kolevska <[email protected]> Signed-off-by: Lorenzo Curcio <[email protected]> * Update daprdocs/content/en/python-sdk-docs/python-actor.md Co-authored-by: Elena Kolevska <[email protected]> Signed-off-by: Lorenzo Curcio <[email protected]> * Update daprdocs/content/en/python-sdk-docs/python-actor.md Co-authored-by: Elena Kolevska <[email protected]> Signed-off-by: Lorenzo Curcio <[email protected]> * Update daprdocs/content/en/python-sdk-docs/python-actor.md Co-authored-by: Elena Kolevska <[email protected]> Signed-off-by: Lorenzo Curcio <[email protected]> * minor error in docs Signed-off-by: Lorenzo Curcio <[email protected]> * fixed and added more unit tests. Added example Signed-off-by: Lorenzo Curcio <[email protected]> * unittest fix Signed-off-by: Lorenzo Curcio <[email protected]> * Update examples/demo_actor/README.md Co-authored-by: Elena Kolevska <[email protected]> Signed-off-by: Lorenzo Curcio <[email protected]> * concentrated some tests Signed-off-by: Lorenzo Curcio <[email protected]> * removed unnecessary type hint Signed-off-by: Lorenzo Curcio <[email protected]> * Update daprdocs/content/en/python-sdk-docs/python-actor.md didnt see this earlier whoops Co-authored-by: Elena Kolevska <[email protected]> Signed-off-by: Lorenzo Curcio <[email protected]> * Update examples/demo_actor/README.md Co-authored-by: Elena Kolevska <[email protected]> Signed-off-by: Lorenzo Curcio <[email protected]> * documentation changes Signed-off-by: Lorenzo Curcio <[email protected]> * now requires #type: ignore Signed-off-by: Lorenzo Curcio <[email protected]> * small docs change Signed-off-by: Elena Kolevska <[email protected]> * examples test fix Signed-off-by: Elena Kolevska <[email protected]> --------- Signed-off-by: Lorenzo Curcio <[email protected]> Signed-off-by: Lorenzo Curcio <[email protected]> Signed-off-by: Elena Kolevska <[email protected]> Co-authored-by: Elena Kolevska <[email protected]> Co-authored-by: Lorenzo Curcio <[email protected]> Co-authored-by: Elena Kolevska <[email protected]> Signed-off-by: Elena Kolevska <[email protected]> * Fixes try_add_state in actor state manger (#756) Signed-off-by: Elena Kolevska <[email protected]> * Integration test for http invocation (#758) Signed-off-by: Elena Kolevska <[email protected]> * fixes missing state store in test (#759) Signed-off-by: Elena Kolevska <[email protected]> * Mark workflows API functions as deprecated (#749) * workflows, remove deprecated functions Signed-off-by: Fabian Martinez <[email protected]> * revert changes to example Signed-off-by: Fabian Martinez <[email protected]> * update warning messages Signed-off-by: Fabian Martinez <[email protected]> * Typos Signed-off-by: Elena Kolevska <[email protected]> * fixes linter Signed-off-by: Elena Kolevska <[email protected]> * Apply suggestions from code review Signed-off-by: Elena Kolevska <[email protected]> * Apply suggestions from code review Signed-off-by: Elena Kolevska <[email protected]> --------- Signed-off-by: Fabian Martinez <[email protected]> Signed-off-by: Elena Kolevska <[email protected]> Signed-off-by: Elena Kolevska <[email protected]> Co-authored-by: Elena Kolevska <[email protected]> Co-authored-by: Elena Kolevska <[email protected]> Signed-off-by: Elena Kolevska <[email protected]> * Removes support for 3.8 and adds 3.13 to test version matrix (#763) Signed-off-by: Elena Kolevska <[email protected]> * Updates dapr email to dapr.io (#764) Signed-off-by: Elena Kolevska <[email protected]> * Reverts grpc bump Signed-off-by: Elena Kolevska <[email protected]> * Updates protos and fixes grpc-tools for protos generation (#766) * Updates protos and fixes grpc-tools for protos generation Signed-off-by: Elena Kolevska <[email protected]> * bumps grpcio tools version Signed-off-by: Elena Kolevska <[email protected]> --------- Signed-off-by: Elena Kolevska <[email protected]> * Bump dapr/durabletask version Signed-off-by: Elena Kolevska <[email protected]> --------- Signed-off-by: Elena Kolevska <[email protected]> Signed-off-by: Fabian Martinez <[email protected]> Signed-off-by: Hannah Hunter <[email protected]> Signed-off-by: Eric Searcy <[email protected]> Signed-off-by: Lorenzo Curcio <[email protected]> Signed-off-by: Lorenzo Curcio <[email protected]> Signed-off-by: Elena Kolevska <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Elena Kolevska <[email protected]> Co-authored-by: Elena Kolevska <[email protected]> Co-authored-by: Hannah Hunter <[email protected]> Co-authored-by: Eric Searcy <[email protected]> Co-authored-by: Lorenzo Curcio <[email protected]> Co-authored-by: Lorenzo Curcio <[email protected]> Signed-off-by: Elena Kolevska <[email protected]> --------- Signed-off-by: Elena Kolevska <[email protected]> Signed-off-by: Billy Brown <[email protected]> Signed-off-by: Fabian Martinez <[email protected]> Signed-off-by: Hannah Hunter <[email protected]> Signed-off-by: Eric Searcy <[email protected]> Signed-off-by: Lorenzo Curcio <[email protected]> Signed-off-by: Lorenzo Curcio <[email protected]> Signed-off-by: Elena Kolevska <[email protected]> Co-authored-by: Billy Brown <[email protected]> Co-authored-by: Fabian Martinez <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Hannah Hunter <[email protected]> Co-authored-by: Eric Searcy <[email protected]> Co-authored-by: Lorenzo Curcio <[email protected]> Co-authored-by: Lorenzo Curcio <[email protected]>
Description
The FastAPI and Flask extensions for actors serialise the value of any raised DaprInternalError to JSON, which fails if the error contains bytes in its
_raw_response_bytes
field.This change adds a new
as_json_safe_dict
method and uses it in place of theas_dict
method in the FastAPI and Flask extensions.Two unit tests for the
as_json_safe_dict
method are included.Issue reference
We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation.
Please reference the issue this PR will close: #761
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list: