@Override public CopyWriter restore() { RewriteRequest rewriteRequest = new RewriteRequest( source.toPb(), sourceOptions, overrideInfo, target.toPb(), targetOptions, megabytesCopiedPerChunk); RewriteResponse rewriteResponse = new RewriteResponse( rewriteRequest, result != null ? result.toPb() : null, blobSize, isDone, rewriteToken, totalBytesCopied); return new CopyWriter(serviceOptions, rewriteResponse); }
@Test public void testRewriteWithoutObjectMultipleRequests() { EasyMock.expect(storageRpcMock.continueRewrite(RESPONSE_WITHOUT_OBJECT)) .andReturn(RESPONSE_WITHOUT_OBJECT); EasyMock.expect(storageRpcMock.continueRewrite(RESPONSE_WITHOUT_OBJECT)) .andReturn(RESPONSE_WITHOUT_OBJECT_DONE); EasyMock.replay(storageRpcMock); copyWriter = new CopyWriter(options, RESPONSE_WITHOUT_OBJECT); assertEquals(result, copyWriter.getResult()); assertTrue(copyWriter.isDone()); assertEquals(42L, copyWriter.getTotalBytesCopied()); assertEquals(42L, copyWriter.getBlobSize()); }
@Test public void testRewriteWithObjectMultipleRequests() { EasyMock.expect(storageRpcMock.continueRewrite(RESPONSE_WITH_OBJECT)) .andReturn(RESPONSE_WITH_OBJECT); EasyMock.expect(storageRpcMock.continueRewrite(RESPONSE_WITH_OBJECT)) .andReturn(RESPONSE_WITH_OBJECT_DONE); EasyMock.replay(storageRpcMock); copyWriter = new CopyWriter(options, RESPONSE_WITH_OBJECT); assertEquals(result, copyWriter.getResult()); assertTrue(copyWriter.isDone()); assertEquals(42L, copyWriter.getTotalBytesCopied()); assertEquals(42L, copyWriter.getBlobSize()); }
@Test public void testRewriteWithoutObject() { EasyMock.expect(storageRpcMock.continueRewrite(RESPONSE_WITHOUT_OBJECT)) .andReturn(RESPONSE_WITHOUT_OBJECT_DONE); EasyMock.replay(storageRpcMock); copyWriter = new CopyWriter(options, RESPONSE_WITHOUT_OBJECT); assertEquals(result, copyWriter.getResult()); assertTrue(copyWriter.isDone()); assertEquals(42L, copyWriter.getTotalBytesCopied()); assertEquals(42L, copyWriter.getBlobSize()); }
@Test public void testRewriteWithObject() { EasyMock.expect(storageRpcMock.continueRewrite(RESPONSE_WITH_OBJECT)) .andReturn(RESPONSE_WITH_OBJECT_DONE); EasyMock.replay(storageRpcMock); copyWriter = new CopyWriter(options, RESPONSE_WITH_OBJECT); assertEquals(result, copyWriter.getResult()); assertTrue(copyWriter.isDone()); assertEquals(42L, copyWriter.getTotalBytesCopied()); assertEquals(42L, copyWriter.getBlobSize()); }
@Test public void testSaveAndRestoreWithObject() { EasyMock.expect(storageRpcMock.continueRewrite(RESPONSE_WITH_OBJECT)) .andReturn(RESPONSE_WITH_OBJECT); EasyMock.expect(storageRpcMock.continueRewrite(RESPONSE_WITH_OBJECT)) .andReturn(RESPONSE_WITH_OBJECT_DONE); EasyMock.replay(storageRpcMock); copyWriter = new CopyWriter(options, RESPONSE_WITH_OBJECT); copyWriter.copyChunk(); assertTrue(!copyWriter.isDone()); assertEquals(21L, copyWriter.getTotalBytesCopied()); assertEquals(42L, copyWriter.getBlobSize()); RestorableState<CopyWriter> rewriterState = copyWriter.capture(); CopyWriter restoredRewriter = rewriterState.restore(); assertEquals(result, restoredRewriter.getResult()); assertTrue(restoredRewriter.isDone()); assertEquals(42L, restoredRewriter.getTotalBytesCopied()); assertEquals(42L, restoredRewriter.getBlobSize()); }
@Test public void testSaveAndRestoreWithoutObject() { EasyMock.expect(storageRpcMock.continueRewrite(RESPONSE_WITHOUT_OBJECT)) .andReturn(RESPONSE_WITHOUT_OBJECT); EasyMock.expect(storageRpcMock.continueRewrite(RESPONSE_WITHOUT_OBJECT)) .andReturn(RESPONSE_WITHOUT_OBJECT_DONE); EasyMock.replay(storageRpcMock); copyWriter = new CopyWriter(options, RESPONSE_WITHOUT_OBJECT); copyWriter.copyChunk(); assertTrue(!copyWriter.isDone()); assertEquals(21L, copyWriter.getTotalBytesCopied()); assertEquals(42L, copyWriter.getBlobSize()); RestorableState<CopyWriter> rewriterState = copyWriter.capture(); CopyWriter restoredRewriter = rewriterState.restore(); assertEquals(result, restoredRewriter.getResult()); assertTrue(restoredRewriter.isDone()); assertEquals(42L, restoredRewriter.getTotalBytesCopied()); assertEquals(42L, restoredRewriter.getBlobSize()); }
@Test public void testSaveAndRestoreWithResult() { EasyMock.expect(storageRpcMock.continueRewrite(RESPONSE_WITH_OBJECT)) .andReturn(RESPONSE_WITH_OBJECT_DONE); EasyMock.replay(storageRpcMock); copyWriter = new CopyWriter(options, RESPONSE_WITH_OBJECT); copyWriter.copyChunk(); assertEquals(result, copyWriter.getResult()); assertTrue(copyWriter.isDone()); assertEquals(42L, copyWriter.getTotalBytesCopied()); assertEquals(42L, copyWriter.getBlobSize()); RestorableState<CopyWriter> rewriterState = copyWriter.capture(); CopyWriter restoredRewriter = rewriterState.restore(); assertEquals(result, restoredRewriter.getResult()); assertTrue(restoredRewriter.isDone()); assertEquals(42L, restoredRewriter.getTotalBytesCopied()); assertEquals(42L, restoredRewriter.getBlobSize()); } }
EXCEPTION_HANDLER, getOptions().getClock()); return new CopyWriter(getOptions(), rewriteResponse); } catch (RetryHelperException e) { throw StorageException.translateAndThrow(e);
@Override public CopyWriter restore() { RewriteRequest rewriteRequest = new RewriteRequest( source.toPb(), sourceOptions, overrideInfo, target.toPb(), targetOptions, megabytesCopiedPerChunk); RewriteResponse rewriteResponse = new RewriteResponse( rewriteRequest, result != null ? result.toPb() : null, blobSize, isDone, rewriteToken, totalBytesCopied); return new CopyWriter(serviceOptions, rewriteResponse); }
EXCEPTION_HANDLER, getOptions().getClock()); return new CopyWriter(getOptions(), rewriteResponse); } catch (RetryHelperException e) { throw StorageException.translateAndThrow(e);