use of com.google.spanner.v1.PartialResultSet in project google-cloud-java by GoogleCloudPlatform.
the class SessionImplTest method multiUseReadOnlyTransactionReturnsEmptyTransactionMetadata.
@Test
public void multiUseReadOnlyTransactionReturnsEmptyTransactionMetadata() {
Transaction txnMetadata = Transaction.newBuilder().setId(ByteString.copyFromUtf8("x")).build();
PartialResultSet resultSet = PartialResultSet.newBuilder().setMetadata(newMetadata(Type.struct(Type.StructField.of("C", Type.string())))).build();
Mockito.when(rpc.beginTransaction(Mockito.<BeginTransactionRequest>any(), Mockito.eq(options))).thenReturn(txnMetadata);
mockRead(resultSet);
ReadOnlyTransaction txn = session.readOnlyTransaction(TimestampBound.strong());
expectedException.expect(SpannerMatchers.isSpannerException(ErrorCode.INTERNAL));
txn.readRow("Dummy", Key.of(), Arrays.asList("C"));
}
use of com.google.spanner.v1.PartialResultSet in project google-cloud-java by GoogleCloudPlatform.
the class SessionImplTest method singleUseReadOnlyTransactionReturnsEmptyTransactionMetadata.
@Test
public void singleUseReadOnlyTransactionReturnsEmptyTransactionMetadata() {
PartialResultSet resultSet = PartialResultSet.newBuilder().setMetadata(newMetadata(Type.struct(Type.StructField.of("C", Type.string()))).toBuilder().setTransaction(Transaction.getDefaultInstance())).build();
mockRead(resultSet);
ReadOnlyTransaction txn = session.singleUseReadOnlyTransaction(TimestampBound.strong());
expectedException.expect(SpannerMatchers.isSpannerException(ErrorCode.INTERNAL));
txn.readRow("Dummy", Key.of(), Arrays.asList("C"));
}
use of com.google.spanner.v1.PartialResultSet in project google-cloud-java by GoogleCloudPlatform.
the class SessionImplTest method singleUseReadOnlyTransactionDoesntReturnTransactionMetadata.
@Test
public void singleUseReadOnlyTransactionDoesntReturnTransactionMetadata() {
PartialResultSet resultSet = PartialResultSet.newBuilder().setMetadata(newMetadata(Type.struct(Type.StructField.of("C", Type.string())))).build();
mockRead(resultSet);
ReadOnlyTransaction txn = session.singleUseReadOnlyTransaction(TimestampBound.strong());
assertThat(txn.readRow("Dummy", Key.of(), Arrays.asList("C"))).isNull();
// For now, getReadTimestamp() will raise an ISE because it hasn't seen a timestamp. It would
// be better for the read to fail with an INTERNAL error, but we can't do that until txn
// metadata is returned for failed reads (e.g., table-not-found) as well as successful ones.
// TODO(user): Fix this.
expectedException.expect(IllegalStateException.class);
txn.getReadTimestamp();
}
use of com.google.spanner.v1.PartialResultSet in project google-cloud-java by GoogleCloudPlatform.
the class GrpcResultSetTest method emptyMultipleResponses.
@Test
public void emptyMultipleResponses() {
PartialResultSet partialResultSet = PartialResultSet.newBuilder().setMetadata(makeMetadata(Type.struct(Type.StructField.of("f", Type.string())))).build();
consumer.onPartialResultSet(partialResultSet);
consumer.onPartialResultSet(PartialResultSet.getDefaultInstance());
consumer.onPartialResultSet(PartialResultSet.getDefaultInstance());
consumer.onCompleted();
assertThat(resultSet.next()).isFalse();
}
use of com.google.spanner.v1.PartialResultSet in project google-cloud-java by GoogleCloudPlatform.
the class GrpcResultSetTest method empty.
@Test
public void empty() {
Type type = Type.struct(Type.StructField.of("f", Type.string()));
PartialResultSet partialResultSet = PartialResultSet.newBuilder().setMetadata(makeMetadata(type)).build();
consumer.onPartialResultSet(partialResultSet);
consumer.onCompleted();
assertThat(resultSet.next()).isFalse();
assertThat(resultSet.getType()).isEqualTo(type);
}
Aggregations