google-cloud-rust
google-cloud-rust copied to clipboard
Breakdown the fixes for the ProtoJSON conformance test
We need to break down this work:
- [ ]
Required.Proto3.JsonInput.DoubleFieldMaxNegativeValue.JsonOutput# Output was not equivalent to reference message: modified: optional_double: -2.22507e-308 -> -2.2250700000000003e-308 - [ ]
Required.Proto3.JsonInput.DoubleFieldMinPositiveValue.JsonOutput# Output was not equivalent to reference message: modified: optional_double: 2.22507e-308 -> 2.2250700000000003e-308 - [ ]
Required.Proto3.JsonInput.TimestampJsonInputLowercaseT# Should have failed to parse, but didn't. - [ ]
Required.Proto3.JsonInput.TimestampJsonInputLowercaseZ#` Should have failed to parse, but didn't. - [ ]
Required.Proto3.JsonInput.TimestampJsonInputMissingT# Should have failed to parse, but didn't.
ERROR, test=Required.Proto3.JsonInput.DoubleFieldMinPositiveValue.JsonOutput: Output was not equivalent to reference message: modified: optional_double: 2.22507e-308 -> 2.2250700000000003e-308
, request=goo.gle/debugonly json_payload: "{\"optionalDouble\": 2.22507e-308}" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly json_payload: "{\"optionalDouble\":2.2250700000000003e-308}"
ERROR, test=Required.Proto3.JsonInput.DoubleFieldMaxNegativeValue.JsonOutput: Output was not equivalent to reference message: modified: optional_double: -2.22507e-308 -> -2.2250700000000003e-308
, request=goo.gle/debugonly json_payload: "{\"optionalDouble\": -2.22507e-308}" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly json_payload: "{\"optionalDouble\":-2.2250700000000003e-308}"
WARNING, test=Recommended.Proto3.JsonInput.BytesFieldBase64Url.JsonOutput: Failed to parse input or produce output., request=goo.gle/debugonly json_payload: "{\"optionalBytes\": \"-_\"}" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly parse_error: "error parsing JSON input for TestAllTypesProto3: Error(\"Invalid symbol 45, offset 0.\", line: 1, column: 22)"
WARNING, test=Recommended.Proto3.JsonInput.DurationHas3FractionalDigits.Validator: JSON payload validation failed., request=goo.gle/debugonly json_payload: "{\"optionalDuration\": \"1.010000000s\"}" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly json_payload: "{\"optionalDuration\":\"1.01s\"}"
WARNING, test=Recommended.Proto3.JsonInput.DurationHas6FractionalDigits.Validator: JSON payload validation failed., request=goo.gle/debugonly json_payload: "{\"optionalDuration\": \"1.000010000s\"}" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly json_payload: "{\"optionalDuration\":\"1.00001s\"}"
WARNING, test=Recommended.Proto3.JsonInput.DurationHas9FractionalDigits.Validator: JSON payload validation failed., request=goo.gle/debugonly json_payload: "{\"optionalDuration\": \"1.000000010s\"}" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly json_payload: "{\"optionalDuration\":\"1.00000001s\"}"
ERROR, test=Required.Proto3.JsonInput.TimestampJsonInputMissingT: Should have failed to parse, but didn't., request=goo.gle/debugonly json_payload: "{\"optionalTimestamp\": \"0001-01-01 00:00:00Z\"}" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly json_payload: "{\"optionalTimestamp\":\"0001-01-01T00:00:00Z\"}"
ERROR, test=Required.Proto3.JsonInput.TimestampJsonInputLowercaseZ: Should have failed to parse, but didn't., request=goo.gle/debugonly json_payload: "{\"optionalTimestamp\": \"0001-01-01T00:00:00z\"}" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly json_payload: "{\"optionalTimestamp\":\"0001-01-01T00:00:00Z\"}"
ERROR, test=Required.Proto3.JsonInput.TimestampJsonInputLowercaseT: Should have failed to parse, but didn't., request=goo.gle/debugonly json_payload: "{\"optionalTimestamp\": \"0001-01-01t00:00:00Z\"}" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly json_payload: "{\"optionalTimestamp\":\"0001-01-01T00:00:00Z\"}"
WARNING, test=Recommended.Proto3.JsonInput.TimestampHas3FractionalDigits.Validator: JSON payload validation failed., request=goo.gle/debugonly json_payload: "{\"optionalTimestamp\": \"1970-01-01T00:00:00.010000000Z\"}" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly json_payload: "{\"optionalTimestamp\":\"1970-01-01T00:00:00.01Z\"}"
WARNING, test=Recommended.Proto3.JsonInput.TimestampHas6FractionalDigits.Validator: JSON payload validation failed., request=goo.gle/debugonly json_payload: "{\"optionalTimestamp\": \"1970-01-01T00:00:00.000010000Z\"}" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly json_payload: "{\"optionalTimestamp\":\"1970-01-01T00:00:00.00001Z\"}"
WARNING, test=Recommended.Proto3.JsonInput.TimestampHas9FractionalDigits.Validator: JSON payload validation failed., request=goo.gle/debugonly json_payload: "{\"optionalTimestamp\": \"1970-01-01T00:00:00.000000010Z\"}" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly json_payload: "{\"optionalTimestamp\":\"1970-01-01T00:00:00.00000001Z\"}"
WARNING, test=Recommended.Proto3.JsonInput.FieldMaskInvalidCharacter: Should have failed to parse, but didn't., request=goo.gle/debugonly json_payload: "{\"optionalFieldMask\": \"foo,bar_bar\"}" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly json_payload: "{\"optionalFieldMask\":\"foo,bar_bar\"}"
WARNING, test=Recommended.Proto3.JsonInput.NullValueInOtherOneofOldFormat.Validator: JSON payload validation failed., request=goo.gle/debugonly json_payload: "{\"oneofNullValue\": \"NULL_VALUE\"}" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly json_payload: "{}"
WARNING, test=Recommended.Proto3.JsonInput.RejectUnknownEnumStringValueInOptionalField: Should have failed to parse, but didn't., request=goo.gle/debugonly json_payload: "{\n \"optional_nested_enum\": \"UNKNOWN_ENUM_VALUE\"\n }" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly json_payload: "{\"optional_nested_enum\":\"UNKNOWN_ENUM_VALUE\"}"
WARNING, test=Recommended.Proto3.JsonInput.RejectUnknownEnumStringValueInRepeatedField: Should have failed to parse, but didn't., request=goo.gle/debugonly json_payload: "{\n \"repeated_nested_enum\": [\"UNKNOWN_ENUM_VALUE\"]\n }" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly json_payload: "{\"repeated_nested_enum\":[\"UNKNOWN_ENUM_VALUE\"]}"
WARNING, test=Recommended.Proto3.JsonInput.RejectUnknownEnumStringValueInMapValue: Should have failed to parse, but didn't., request=goo.gle/debugonly json_payload: "{\n \"map_string_nested_enum\": {\"key\": \"UNKNOWN_ENUM_VALUE\"}\n }" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly json_payload: "{\"map_string_nested_enum\":{\"key\":\"UNKNOWN_ENUM_VALUE\"}}"
It may be better to fix #2325, #2324, #2323, #2327 and then run the conformance tests again. Those will clear up many errors.