Skip to content
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 a test to validate behavior when invalid UTF-8 data is present #1408

Merged
merged 2 commits into from
Mar 1, 2024

Conversation

tdeebswihart
Copy link
Contributor

@tdeebswihart tdeebswihart commented Mar 1, 2024

What was changed

This PR adds an integration test to validate that we allow invalid UTF-8 data in strings.

Testing

You will need to run the server locally as of temporalio/temporal#5476, then execute the integration tests.

This test has been manually verified as passing on SDK version 1.25.0 and server version 1.22.5, so we should remain compatible with our pre-google/protobuf behavior

Checklist

  1. Ready this for review once the server and CLI support this

@tdeebswihart tdeebswihart changed the title Tds/proto invalid utf8 test Add a test to validate behavior when invalid UTF-8 data is present Mar 1, 2024
This passes an invalid UTF-8 string all the way through the stack from
client to workflow to activity
@tdeebswihart tdeebswihart changed the base branch from master to tds/proto-invalid-utf8 March 1, 2024 20:58
@tdeebswihart tdeebswihart marked this pull request as ready for review March 1, 2024 22:10
@tdeebswihart tdeebswihart requested a review from a team as a code owner March 1, 2024 22:10
@tdeebswihart tdeebswihart merged commit a85d54b into tds/proto-invalid-utf8 Mar 1, 2024
13 checks passed
@tdeebswihart tdeebswihart deleted the tds/proto-invalid-utf8-test branch March 1, 2024 22:10
tdeebswihart added a commit that referenced this pull request Mar 1, 2024
## What was changed
I've upgraded the version of our Go API in order to allow invalid UTF-8 data in our proto strings.

Note that the tests for this behavior are in a separate pr (#1408) as they require unreleased changes to the server.

## Why?
The version of gogo/protobuf we used allowed invalid UTF-8 in strings which is a violation of the proto3 spec. We were unaware of this until our new google/protobuf based structs began failing to deserialize data we'd used previously
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant