@Override public StorageObject call() { return storageRpc.get(storedObject, optionsMap); } },
@Override public com.google.api.services.storage.model.Bucket call() { return storageRpc.get(bucketPb, optionsMap); } },
@Test public void testGetBlobWithOptions() { EasyMock.expect( storageRpcMock.get(BlobId.of(BUCKET_NAME1, BLOB_NAME1).toPb(), BLOB_GET_OPTIONS)) .andReturn(BLOB_INFO1.toPb()); EasyMock.replay(storageRpcMock); initializeService(); Blob blob = storage.get(BUCKET_NAME1, BLOB_NAME1, BLOB_GET_METAGENERATION, BLOB_GET_GENERATION); assertEquals(expectedBlob1, blob); }
@Test public void testGetBlob() { EasyMock.expect( storageRpcMock.get(BlobId.of(BUCKET_NAME1, BLOB_NAME1).toPb(), EMPTY_RPC_OPTIONS)) .andReturn(BLOB_INFO1.toPb()); EasyMock.replay(storageRpcMock); initializeService(); Blob blob = storage.get(BUCKET_NAME1, BLOB_NAME1); assertEquals(expectedBlob1, blob); }
@Test public void testGetBucket() { EasyMock.expect(storageRpcMock.get(BucketInfo.of(BUCKET_NAME1).toPb(), EMPTY_RPC_OPTIONS)) .andReturn(BUCKET_INFO1.toPb()); EasyMock.replay(storageRpcMock); initializeService(); Bucket bucket = storage.get(BUCKET_NAME1); assertEquals(expectedBucket1, bucket); }
@Test public void testGetBucketWithOptions() { EasyMock.expect(storageRpcMock.get(BucketInfo.of(BUCKET_NAME1).toPb(), BUCKET_GET_OPTIONS)) .andReturn(BUCKET_INFO1.toPb()); EasyMock.replay(storageRpcMock); initializeService(); Bucket bucket = storage.get(BUCKET_NAME1, BUCKET_GET_METAGENERATION); assertEquals(expectedBucket1, bucket); }
@Test public void testGetBlobWithOptionsFromBlobId() { EasyMock.expect(storageRpcMock.get(BLOB_INFO1.getBlobId().toPb(), BLOB_GET_OPTIONS)) .andReturn(BLOB_INFO1.toPb()); EasyMock.replay(storageRpcMock); initializeService(); Blob blob = storage.get( BLOB_INFO1.getBlobId(), BLOB_GET_METAGENERATION, BLOB_GET_GENERATION_FROM_BLOB_ID); assertEquals(expectedBlob1, blob); }
@Test public void testGetBucketWithSelectedFields() { Capture<Map<StorageRpc.Option, Object>> capturedOptions = Capture.newInstance(); EasyMock.expect( storageRpcMock.get( EasyMock.eq(BucketInfo.of(BUCKET_NAME1).toPb()), EasyMock.capture(capturedOptions))) .andReturn(BUCKET_INFO1.toPb()); EasyMock.replay(storageRpcMock); initializeService(); Bucket bucket = storage.get(BUCKET_NAME1, BUCKET_GET_METAGENERATION, BUCKET_GET_FIELDS); assertEquals( BUCKET_GET_METAGENERATION.getValue(), capturedOptions.getValue().get(BUCKET_GET_METAGENERATION.getRpcOption())); String selector = (String) capturedOptions.getValue().get(BLOB_GET_FIELDS.getRpcOption()); assertTrue(selector.contains("name")); assertTrue(selector.contains("location")); assertTrue(selector.contains("acl")); assertEquals(17, selector.length()); assertEquals(BUCKET_INFO1.getName(), bucket.getName()); }
@Test public void testGetBucketWithEmptyFields() { Capture<Map<StorageRpc.Option, Object>> capturedOptions = Capture.newInstance(); EasyMock.expect( storageRpcMock.get( EasyMock.eq(BucketInfo.of(BUCKET_NAME1).toPb()), EasyMock.capture(capturedOptions))) .andReturn(BUCKET_INFO1.toPb()); EasyMock.replay(storageRpcMock); initializeService(); Bucket bucket = storage.get(BUCKET_NAME1, BUCKET_GET_METAGENERATION, BUCKET_GET_EMPTY_FIELDS); assertEquals( BUCKET_GET_METAGENERATION.getValue(), capturedOptions.getValue().get(BUCKET_GET_METAGENERATION.getRpcOption())); String selector = (String) capturedOptions.getValue().get(BLOB_GET_FIELDS.getRpcOption()); assertTrue(selector.contains("name")); assertEquals(4, selector.length()); assertEquals(BUCKET_INFO1.getName(), bucket.getName()); }
@Test public void testRuntimeException() { BlobId blob = BlobId.of(BUCKET_NAME1, BLOB_NAME1); String exceptionMessage = "Artificial runtime exception"; EasyMock.expect(storageRpcMock.get(blob.toPb(), EMPTY_RPC_OPTIONS)) .andThrow(new RuntimeException(exceptionMessage)); EasyMock.replay(storageRpcMock); storage = options .toBuilder() .setRetrySettings(ServiceOptions.getDefaultRetrySettings()) .build() .getService(); thrown.expect(StorageException.class); thrown.expectMessage(exceptionMessage); storage.get(blob); } }
Capture<Map<StorageRpc.Option, Object>> capturedOptions = Capture.newInstance(); EasyMock.expect( storageRpcMock.get( EasyMock.eq(BlobId.of(BUCKET_NAME1, BLOB_NAME1).toPb()), EasyMock.capture(capturedOptions)))
@Test public void testRetryableException() { BlobId blob = BlobId.of(BUCKET_NAME1, BLOB_NAME1); EasyMock.expect(storageRpcMock.get(blob.toPb(), EMPTY_RPC_OPTIONS)) .andThrow(new StorageException(500, "internalError")) .andReturn(BLOB_INFO1.toPb()); EasyMock.replay(storageRpcMock); storage = options .toBuilder() .setRetrySettings(ServiceOptions.getDefaultRetrySettings()) .build() .getService(); initializeServiceDependentObjects(); Blob readBlob = storage.get(blob); assertEquals(expectedBlob1, readBlob); }
@Test public void testGetBlobWithEmptyFields() { Capture<Map<StorageRpc.Option, Object>> capturedOptions = Capture.newInstance(); EasyMock.expect( storageRpcMock.get( EasyMock.eq(BlobId.of(BUCKET_NAME1, BLOB_NAME1).toPb()), EasyMock.capture(capturedOptions))) .andReturn(BLOB_INFO1.toPb()); EasyMock.replay(storageRpcMock); initializeService(); Blob blob = storage.get( BUCKET_NAME1, BLOB_NAME1, BLOB_GET_METAGENERATION, BLOB_GET_GENERATION, BLOB_GET_EMPTY_FIELDS); assertEquals( BLOB_GET_METAGENERATION.getValue(), capturedOptions.getValue().get(BLOB_GET_METAGENERATION.getRpcOption())); assertEquals( BLOB_GET_GENERATION.getValue(), capturedOptions.getValue().get(BLOB_GET_GENERATION.getRpcOption())); String selector = (String) capturedOptions.getValue().get(BLOB_GET_FIELDS.getRpcOption()); assertTrue(selector.contains("bucket")); assertTrue(selector.contains("name")); assertEquals(11, selector.length()); assertEquals(expectedBlob1, blob); }
@Test public void testNonRetryableException() { BlobId blob = BlobId.of(BUCKET_NAME1, BLOB_NAME1); String exceptionMessage = "Not Implemented"; EasyMock.expect(storageRpcMock.get(blob.toPb(), EMPTY_RPC_OPTIONS)) .andThrow(new StorageException(501, exceptionMessage)); EasyMock.replay(storageRpcMock); storage = options .toBuilder() .setRetrySettings(ServiceOptions.getDefaultRetrySettings()) .build() .getService(); initializeServiceDependentObjects(); thrown.expect(StorageException.class); thrown.expectMessage(exceptionMessage); storage.get(blob); }
@Override public com.google.api.services.storage.model.Bucket call() { return storageRpc.get(bucketPb, optionsMap); } },
@Override public StorageObject call() { return storageRpc.get(storedObject, optionsMap); } },