示例#1
0
 @Test
 public void testStateEquals() {
   replay(storageRpcMock);
   reader = new BlobReadChannel(options, BLOB_ID, EMPTY_RPC_OPTIONS);
   @SuppressWarnings("resource") // avoid closing when you don't want partial writes to GCS
   ReadChannel secondReader = new BlobReadChannel(options, BLOB_ID, EMPTY_RPC_OPTIONS);
   RestorableState<ReadChannel> state = reader.capture();
   RestorableState<ReadChannel> secondState = secondReader.capture();
   assertEquals(state, secondState);
   assertEquals(state.hashCode(), secondState.hashCode());
   assertEquals(state.toString(), secondState.toString());
 }
示例#2
0
 @Test
 public void testSaveAndRestore() throws IOException {
   byte[] firstResult = randomByteArray(DEFAULT_CHUNK_SIZE);
   byte[] secondResult = randomByteArray(DEFAULT_CHUNK_SIZE);
   ByteBuffer firstReadBuffer = ByteBuffer.allocate(42);
   ByteBuffer secondReadBuffer = ByteBuffer.allocate(DEFAULT_CHUNK_SIZE);
   expect(storageRpcMock.read(BLOB_ID.toPb(), EMPTY_RPC_OPTIONS, 0, DEFAULT_CHUNK_SIZE))
       .andReturn(StorageRpc.Tuple.of("etag", firstResult));
   expect(storageRpcMock.read(BLOB_ID.toPb(), EMPTY_RPC_OPTIONS, 42, DEFAULT_CHUNK_SIZE))
       .andReturn(StorageRpc.Tuple.of("etag", secondResult));
   replay(storageRpcMock);
   reader = new BlobReadChannel(options, BLOB_ID, EMPTY_RPC_OPTIONS);
   reader.read(firstReadBuffer);
   RestorableState<ReadChannel> readerState = reader.capture();
   ReadChannel restoredReader = readerState.restore();
   restoredReader.read(secondReadBuffer);
   assertArrayEquals(
       Arrays.copyOf(firstResult, firstReadBuffer.capacity()), firstReadBuffer.array());
   assertArrayEquals(secondResult, secondReadBuffer.array());
 }