use of com.google.protobuf.Field in project gax-java by googleapis.
the class HttpJsonOperationSnapshotCallableTest method futureCallTestException.
@Test
public void futureCallTestException() throws InterruptedException {
Option request = Option.newBuilder().setName("Arizona").build();
Field field = Field.newBuilder().setName("Georgia").build();
ApiCallContext context = mock(ApiCallContext.class);
OperationSnapshot operationSnapshot = HttpJsonOperationSnapshot.newBuilder().setName("California").setMetadata(2).setDone(true).setResponse("Florida").setError(0, "no error").build();
SettableApiFuture<Field> settableApiFuture = SettableApiFuture.create();
settableApiFuture.setException(new RuntimeException("Seattle"));
when(operationSnapshotFactory.create(request, field)).thenReturn(operationSnapshot);
when(innerCallable.futureCall(request, context)).thenReturn(settableApiFuture);
try {
operationSnapCallable.futureCall(request, context).get();
Assert.fail("Exception should have been thrown");
} catch (ExecutionException e) {
Truth.assertThat(e).hasMessageThat().contains("Seattle");
}
}
use of com.google.protobuf.Field in project gax-java by googleapis.
the class ProtoMessageJsonStreamIteratorTest method testMultipleElements.
@Test
public void testMultipleElements() throws IOException {
Field[] expectedData = new Field[] { Field.newBuilder().setName("cat").addOptions(Option.newBuilder().setName("haha").build()).addOptions(Option.newBuilder().setName("hoho").build()).setNumber(1).setDefaultValue("mew").build(), Field.newBuilder().setName("dog").addOptions(Option.newBuilder().setName("muu").build()).setNumber(2).setDefaultValue("woof").build(), Field.newBuilder().setName("cow").addOptions(Option.newBuilder().setName("bee").build()).setNumber(3).setDefaultValue("muu").build() };
String jsonData = "[{\n" + " \"number\": 1,\n" + " \"name\": \"cat\",\n" + " \"options\": [{\n" + " \"name\": \"haha\"\n" + " }, {\n" + " \"name\": \"hoho\"\n" + " }],\n" + " \"defaultValue\": \"mew\"\n" + "},\n" + "{\n" + " \"number\": 2,\n" + " \"name\": \"dog\",\n" + " \"options\": [{\n" + " \"name\": \"muu\"\n" + " }],\n" + " \"defaultValue\": \"woof\"\n" + "},\n" + "{\n" + " \"number\": 3,\n" + " \"name\": \"cow\",\n" + " \"options\": [{\n" + " \"name\": \"bee\"\n" + " }],\n" + " \"defaultValue\": \"muu\"\n" + "}]";
ProtoMessageJsonStreamIterator streamIter = new ProtoMessageJsonStreamIterator(new StringReader(jsonData));
Truth.assertThat(streamIter.hasNext()).isTrue();
Field.Builder builder = Field.newBuilder();
JsonFormat.parser().merge(streamIter.next(), builder);
Truth.assertThat(builder.build()).isEqualTo(expectedData[0]);
Truth.assertThat(streamIter.hasNext()).isTrue();
builder = Field.newBuilder();
JsonFormat.parser().merge(streamIter.next(), builder);
Truth.assertThat(builder.build()).isEqualTo(expectedData[1]);
Truth.assertThat(streamIter.hasNext()).isTrue();
builder = Field.newBuilder();
JsonFormat.parser().merge(streamIter.next(), builder);
Truth.assertThat(builder.build()).isEqualTo(expectedData[2]);
Truth.assertThat(streamIter.hasNext()).isFalse();
streamIter.close();
}
use of com.google.protobuf.Field in project gax-java by googleapis.
the class ProtoMessageJsonStreamIteratorTest method testEscapedString.
@Test
public void testEscapedString() throws IOException {
Field expectedData = Field.newBuilder().setName("[{\n" + "\"fInt32\": 23,\n" + "\"fInt64\": \"1234567889999977\",\n" + "\"fDouble\": 1234.343232226,\n" + "\"fKingdom\": \"ARCHAEBACTERIA\"\n" + "}]").build();
String jsonData = "[{\n" + " \"name\": \"[{\\n" + "\\\"fInt32\\\": 23,\\n" + "\\\"fInt64\\\": \\\"1234567889999977\\\",\\n" + "\\\"fDouble\\\": 1234.343232226,\\n" + "\\\"fKingdom\\\": \\\"ARCHAEBACTERIA\\\"\\n" + "}]\"\n" + "}]";
ProtoMessageJsonStreamIterator streamIter = new ProtoMessageJsonStreamIterator(new StringReader(jsonData));
Truth.assertThat(streamIter.hasNext()).isTrue();
Field.Builder builder = Field.newBuilder();
JsonFormat.parser().merge(streamIter.next(), builder);
Truth.assertThat(builder.build()).isEqualTo(expectedData);
Truth.assertThat(streamIter.hasNext()).isFalse();
streamIter.close();
}
use of com.google.protobuf.Field in project gax-java by googleapis.
the class ProtoMessageResponseParserTest method parse.
@Test
public void parse() {
Field actualField = parser.parse(new ByteArrayInputStream(fieldJson.getBytes(StandardCharsets.UTF_8)));
Truth.assertThat(actualField).isEqualTo(field);
}
use of com.google.protobuf.Field in project gax-java by googleapis.
the class ProtoRestSerializerTest method fromJson.
@Test
public void fromJson() {
Field fieldFromJson = requestSerializer.fromJson(new StringReader(fieldJson), Field.newBuilder());
Truth.assertThat(fieldFromJson).isEqualTo(field);
}
Aggregations