Skip to content

ProtoSchemaConverter renders invalid schema for oneof in unwrap mode #3039

Description

@aka-peter

Describe the bug, including details regarding any error messages, version, and platform.

When unwrap is enabled all fields of the TestProto3.OneOfTestMessage will be required.

message TestProto3.OneOfTestMessage {
  required int32 first = 1;
  required int32 second = 2;
}

This will never work but tests are missing for unwrap of TestProto3.OneOfTestMessage

The required repetition is added here:

Repetition repetition = unwrapProtoWrappers ? Repetition.REQUIRED : getRepetition(descriptor);

This could be caught early by adding withValidation(true) here:

If validation is disabled it will fail when trying to read one of the non-existing fields in the oneof.

Is there really a need for setting all primitive fields in unwrap to required?

Component(s)

No response

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions