GlacierStorageProvider extends S3StorageProvider { @Override public RetrievedContent getContent(String spaceId, String contentId, String range) { log.debug("getContent(" + spaceId + ", " + contentId + ")"); try { return super.getContent(spaceId, contentId, range); } catch (StorageException e) { checkStorageState(e); throw e; } } GlacierStorageProvider(String accessKey, String secretKey, Map<String, String> options);  GlacierStorageProvider(String accessKey, String secretKey);  GlacierStorageProvider(AmazonS3 s3Client, String accessKey); @Override StorageProviderType getStorageProviderType(); @Override String copyContent(String sourceSpaceId,
                              String sourceContentId,
                              String destSpaceId,
                              String destContentId); @Override RetrievedContent getContent(String spaceId, String contentId, String range); @Override void setContentProperties(String spaceId,
                                     String contentId,
                                     Map<String, String> contentProperties);  }
@Test public void testGetContentFail() { setListBucketsMock(); EasyMock.expect(s3Client.getObject(EasyMock.isA(GetObjectRequest.class))) .andThrow(glacierEx); EasyMock.expect(s3Client.getObjectMetadata(accessKey + "." + spaceId, contentId)) .andReturn(null); EasyMock.replay(s3Client); GlacierStorageProvider provider = new GlacierStorageProvider(s3Client, accessKey); try { provider.getContent(spaceId, contentId, null); fail("StorageStateException expected"); } catch (StorageStateException expected) { assertNotNull(expected.getMessage()); } }