diff --git a/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1alpha2/JsonToProtoMessageTest.java b/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1alpha2/JsonToProtoMessageTest.java index 151f330edd..5468ba92eb 100644 --- a/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1alpha2/JsonToProtoMessageTest.java +++ b/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1alpha2/JsonToProtoMessageTest.java @@ -257,17 +257,27 @@ public void testOptional() throws Exception { AreMatchingFieldsFilledIn(protoMsg, json); } + @Test + public void testRepeatedIsOptional() throws Exception { + JSONObject json = new JSONObject(); + json.put("required_double", 1.1); + + DynamicMessage protoMsg = + JsonToProtoMessage.convertJsonToProtoMessage(TestRepeatedIsOptional.getDescriptor(), json); + AreMatchingFieldsFilledIn(protoMsg, json); + } + @Test public void testRequired() throws Exception { JSONObject json = new JSONObject(); - json.put("test_required_float", 1.1); + json.put("test_required_double", 1.1); json.put("optional_double", 1.1); try { DynamicMessage protoMsg = JsonToProtoMessage.convertJsonToProtoMessage(TestRequired.getDescriptor(), json); } catch (IllegalArgumentException e) { assertEquals( - e.getMessage(), "JSONObject does not have the required field root.required_float."); + e.getMessage(), "JSONObject does not have the required field root.required_double."); } } diff --git a/google-cloud-bigquerystorage/src/test/proto/jsonTest.proto b/google-cloud-bigquerystorage/src/test/proto/jsonTest.proto index 4616372692..b7d3c2b152 100644 --- a/google-cloud-bigquerystorage/src/test/proto/jsonTest.proto +++ b/google-cloud-bigquerystorage/src/test/proto/jsonTest.proto @@ -83,7 +83,7 @@ message TestInt64 { message TestDouble { optional double double = 1; - optional float float = 2; + optional double float = 2; } message NestedRepeated { @@ -94,5 +94,10 @@ message NestedRepeated { message TestRequired { optional double optional_double = 1; - required float required_float = 2; + required double required_double = 2; +} + +message TestRepeatedIsOptional { + optional double required_double = 1; + repeated double repeated_double = 2; }