Java Code Examples for com.amazonaws.services.s3.model.S3ObjectSummary#setSize()
The following examples show how to use
com.amazonaws.services.s3.model.S3ObjectSummary#setSize() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: StashReaderTest.java From emodb with Apache License 2.0 | 6 votes |
private Answer<ObjectListing> objectListingAnswer(@Nullable final String marker, final String... fileNames) { return new Answer<ObjectListing>() { @Override public ObjectListing answer(InvocationOnMock invocation) throws Throwable { ListObjectsRequest request = (ListObjectsRequest) invocation.getArguments()[0]; ObjectListing objectListing = new ObjectListing(); objectListing.setBucketName(request.getBucketName()); objectListing.setPrefix(request.getPrefix()); objectListing.setTruncated(marker != null); objectListing.setNextMarker(marker); for (String fileName : fileNames) { S3ObjectSummary objectSummary = new S3ObjectSummary(); objectSummary.setKey(request.getPrefix() + fileName); objectSummary.setSize(100); objectListing.getObjectSummaries().add(objectSummary); } return objectListing; } }; }
Example 2
Source File: MockAmazonS3.java From crate with Apache License 2.0 | 6 votes |
@Override public ObjectListing listObjects(final ListObjectsRequest request) throws AmazonClientException { assertThat(request.getBucketName(), equalTo(bucket)); final ObjectListing listing = new ObjectListing(); listing.setBucketName(request.getBucketName()); listing.setPrefix(request.getPrefix()); for (Map.Entry<String, byte[]> blob : blobs.entrySet()) { if (Strings.isEmpty(request.getPrefix()) || blob.getKey().startsWith(request.getPrefix())) { S3ObjectSummary summary = new S3ObjectSummary(); summary.setBucketName(request.getBucketName()); summary.setKey(blob.getKey()); summary.setSize(blob.getValue().length); listing.getObjectSummaries().add(summary); } } return listing; }
Example 3
Source File: S3FindFilesStepTest.java From pipeline-aws-plugin with Apache License 2.0 | 5 votes |
@Test public void createFileWrapperFromFile() throws Exception { FileWrapper file; S3ObjectSummary s3ObjectSummary = new S3ObjectSummary(); s3ObjectSummary.setBucketName("my-bucket"); s3ObjectSummary.setKey("path/to/my/file.ext"); s3ObjectSummary.setLastModified(new Date(9000)); s3ObjectSummary.setSize(12); file = S3FindFilesStep.Execution.createFileWrapperFromFile(0, Paths.get(s3ObjectSummary.getKey()), s3ObjectSummary); Assert.assertEquals("file.ext", file.getName()); Assert.assertEquals("path/to/my/file.ext", file.getPath()); Assert.assertFalse(file.isDirectory()); Assert.assertEquals(12, file.getLength()); Assert.assertEquals(9000, file.getLastModified()); file = S3FindFilesStep.Execution.createFileWrapperFromFile(1, Paths.get(s3ObjectSummary.getKey()), s3ObjectSummary); Assert.assertEquals("file.ext", file.getName()); Assert.assertEquals("to/my/file.ext", file.getPath()); Assert.assertFalse(file.isDirectory()); Assert.assertEquals(12, file.getLength()); Assert.assertEquals(9000, file.getLastModified()); file = S3FindFilesStep.Execution.createFileWrapperFromFile(2, Paths.get(s3ObjectSummary.getKey()), s3ObjectSummary); Assert.assertEquals("file.ext", file.getName()); Assert.assertEquals("my/file.ext", file.getPath()); Assert.assertFalse(file.isDirectory()); Assert.assertEquals(12, file.getLength()); Assert.assertEquals(9000, file.getLastModified()); }
Example 4
Source File: MockS3OperationsImpl.java From herd with Apache License 2.0 | 5 votes |
/** * {@inheritDoc} * <p/> * If the bucket does not exist, returns a listing with an empty list. If a prefix is specified in listObjectsRequest, only keys starting with the prefix * will be returned. */ @Override public ObjectListing listObjects(ListObjectsRequest listObjectsRequest, AmazonS3 s3Client) { LOGGER.debug("listObjects(): listObjectsRequest.getBucketName() = " + listObjectsRequest.getBucketName()); String bucketName = listObjectsRequest.getBucketName(); if (MOCK_S3_BUCKET_NAME_NO_SUCH_BUCKET_EXCEPTION.equals(bucketName)) { AmazonS3Exception amazonS3Exception = new AmazonS3Exception(MOCK_S3_BUCKET_NAME_NO_SUCH_BUCKET_EXCEPTION); amazonS3Exception.setErrorCode("NoSuchBucket"); throw amazonS3Exception; } ObjectListing objectListing = new ObjectListing(); objectListing.setBucketName(bucketName); MockS3Bucket mockS3Bucket = mockS3Buckets.get(bucketName); if (mockS3Bucket != null) { for (MockS3Object mockS3Object : mockS3Bucket.getObjects().values()) { String s3ObjectKey = mockS3Object.getKey(); if (listObjectsRequest.getPrefix() == null || s3ObjectKey.startsWith(listObjectsRequest.getPrefix())) { S3ObjectSummary s3ObjectSummary = new S3ObjectSummary(); s3ObjectSummary.setBucketName(bucketName); s3ObjectSummary.setKey(s3ObjectKey); s3ObjectSummary.setSize(mockS3Object.getData().length); s3ObjectSummary.setStorageClass(mockS3Object.getObjectMetadata() != null ? mockS3Object.getObjectMetadata().getStorageClass() : null); objectListing.getObjectSummaries().add(s3ObjectSummary); } } } return objectListing; }
Example 5
Source File: TerrapinUtilTest.java From terrapin with Apache License 2.0 | 5 votes |
@Test @PrepareForTest(TerrapinUtil.class) public void testGetS3FileList() throws Exception { AmazonS3Client s3Client = mock(AmazonS3Client.class); ObjectListing objectListing = mock(ObjectListing.class); S3ObjectSummary summary1 = new S3ObjectSummary(); S3ObjectSummary summary2 = new S3ObjectSummary(); S3ObjectSummary summary3 = new S3ObjectSummary(); summary1.setKey("/abc/123"); summary2.setKey("/abc/456"); summary3.setKey("/def/123"); summary1.setSize(32432); summary2.setSize(213423); summary3.setSize(2334); List<S3ObjectSummary> summaries = ImmutableList.of(summary1, summary2, summary3); whenNew(AmazonS3Client.class).withAnyArguments().thenReturn(s3Client); when(s3Client.listObjects(any(ListObjectsRequest.class))).thenReturn(objectListing); when(objectListing.getObjectSummaries()).thenReturn(summaries); List<Pair<Path, Long>> results = TerrapinUtil.getS3FileList(new AnonymousAWSCredentials(), "bucket", "/abc"); assertEquals(2, results.size()); assertTrue(results.get(0).getLeft().toString().endsWith(summary1.getKey())); assertEquals(new Long(summary1.getSize()), results.get(0).getRight()); assertTrue(results.get(1).getLeft().toString().endsWith(summary2.getKey())); assertEquals(new Long(summary2.getSize()), results.get(1).getRight()); }
Example 6
Source File: AmazonS3Util.java From datacollector with Apache License 2.0 | 5 votes |
@NotNull private static S3ObjectSummary getObjectSummary(AmazonS3 s3Client, String bucket, String key) { S3Object currentObject = s3Client.getObject(bucket, key); S3ObjectSummary currentObjectSummary = new S3ObjectSummary(); currentObjectSummary.setBucketName(currentObject.getBucketName()); currentObjectSummary.setKey(currentObject.getKey()); currentObjectSummary.setETag(currentObject.getObjectMetadata().getETag()); currentObjectSummary.setSize(currentObject.getObjectMetadata().getContentLength()); currentObjectSummary.setLastModified(currentObject.getObjectMetadata().getLastModified()); currentObjectSummary.setStorageClass(currentObject.getObjectMetadata().getStorageClass()); return currentObjectSummary; }
Example 7
Source File: MockObjectListing.java From tajo with Apache License 2.0 | 5 votes |
private S3ObjectSummary getS3ObjectSummary(String bucketName, String key, long size) { S3ObjectSummary objectSummary = new S3ObjectSummary(); objectSummary.setBucketName(bucketName); objectSummary.setKey(key); objectSummary.setSize(size); return objectSummary; }
Example 8
Source File: S3FileSystemTest.java From beam with Apache License 2.0 | 4 votes |
@Test public void matchGlob() throws IOException { S3FileSystem s3FileSystem = buildMockedS3FileSystem(s3Options()); S3ResourceId path = S3ResourceId.fromUri("s3://testbucket/foo/bar*baz"); ListObjectsV2Request firstRequest = new ListObjectsV2Request() .withBucketName(path.getBucket()) .withPrefix(path.getKeyNonWildcardPrefix()) .withContinuationToken(null); // Expected to be returned; prefix and wildcard/regex match S3ObjectSummary firstMatch = new S3ObjectSummary(); firstMatch.setBucketName(path.getBucket()); firstMatch.setKey("foo/bar0baz"); firstMatch.setSize(100); firstMatch.setLastModified(new Date(1540000000001L)); // Expected to not be returned; prefix matches, but substring after wildcard does not S3ObjectSummary secondMatch = new S3ObjectSummary(); secondMatch.setBucketName(path.getBucket()); secondMatch.setKey("foo/bar1qux"); secondMatch.setSize(200); secondMatch.setLastModified(new Date(1540000000002L)); // Expected first request returns continuation token ListObjectsV2Result firstResult = new ListObjectsV2Result(); firstResult.setNextContinuationToken("token"); firstResult.getObjectSummaries().add(firstMatch); firstResult.getObjectSummaries().add(secondMatch); when(s3FileSystem .getAmazonS3Client() .listObjectsV2(argThat(new ListObjectsV2RequestArgumentMatches(firstRequest)))) .thenReturn(firstResult); // Expect second request with continuation token ListObjectsV2Request secondRequest = new ListObjectsV2Request() .withBucketName(path.getBucket()) .withPrefix(path.getKeyNonWildcardPrefix()) .withContinuationToken("token"); // Expected to be returned; prefix and wildcard/regex match S3ObjectSummary thirdMatch = new S3ObjectSummary(); thirdMatch.setBucketName(path.getBucket()); thirdMatch.setKey("foo/bar2baz"); thirdMatch.setSize(300); thirdMatch.setLastModified(new Date(1540000000003L)); // Expected second request returns third prefix match and no continuation token ListObjectsV2Result secondResult = new ListObjectsV2Result(); secondResult.setNextContinuationToken(null); secondResult.getObjectSummaries().add(thirdMatch); when(s3FileSystem .getAmazonS3Client() .listObjectsV2(argThat(new ListObjectsV2RequestArgumentMatches(secondRequest)))) .thenReturn(secondResult); // Expect object metadata queries for content encoding ObjectMetadata metadata = new ObjectMetadata(); metadata.setContentEncoding(""); when(s3FileSystem.getAmazonS3Client().getObjectMetadata(anyObject())).thenReturn(metadata); assertThat( s3FileSystem.matchGlobPaths(ImmutableList.of(path)).get(0), MatchResultMatcher.create( ImmutableList.of( MatchResult.Metadata.builder() .setIsReadSeekEfficient(true) .setResourceId( S3ResourceId.fromComponents( firstMatch.getBucketName(), firstMatch.getKey())) .setSizeBytes(firstMatch.getSize()) .setLastModifiedMillis(firstMatch.getLastModified().getTime()) .build(), MatchResult.Metadata.builder() .setIsReadSeekEfficient(true) .setResourceId( S3ResourceId.fromComponents( thirdMatch.getBucketName(), thirdMatch.getKey())) .setSizeBytes(thirdMatch.getSize()) .setLastModifiedMillis(thirdMatch.getLastModified().getTime()) .build()))); }
Example 9
Source File: S3FileSystemTest.java From beam with Apache License 2.0 | 4 votes |
@Test public void matchGlobWithSlashes() throws IOException { S3FileSystem s3FileSystem = buildMockedS3FileSystem(s3Options()); S3ResourceId path = S3ResourceId.fromUri("s3://testbucket/foo/bar\\baz*"); ListObjectsV2Request request = new ListObjectsV2Request() .withBucketName(path.getBucket()) .withPrefix(path.getKeyNonWildcardPrefix()) .withContinuationToken(null); // Expected to be returned; prefix and wildcard/regex match S3ObjectSummary firstMatch = new S3ObjectSummary(); firstMatch.setBucketName(path.getBucket()); firstMatch.setKey("foo/bar\\baz0"); firstMatch.setSize(100); firstMatch.setLastModified(new Date(1540000000001L)); // Expected to not be returned; prefix matches, but substring after wildcard does not S3ObjectSummary secondMatch = new S3ObjectSummary(); secondMatch.setBucketName(path.getBucket()); secondMatch.setKey("foo/bar/baz1"); secondMatch.setSize(200); secondMatch.setLastModified(new Date(1540000000002L)); // Expected first request returns continuation token ListObjectsV2Result result = new ListObjectsV2Result(); result.getObjectSummaries().add(firstMatch); result.getObjectSummaries().add(secondMatch); when(s3FileSystem .getAmazonS3Client() .listObjectsV2(argThat(new ListObjectsV2RequestArgumentMatches(request)))) .thenReturn(result); // Expect object metadata queries for content encoding ObjectMetadata metadata = new ObjectMetadata(); metadata.setContentEncoding(""); when(s3FileSystem.getAmazonS3Client().getObjectMetadata(anyObject())).thenReturn(metadata); assertThat( s3FileSystem.matchGlobPaths(ImmutableList.of(path)).get(0), MatchResultMatcher.create( ImmutableList.of( MatchResult.Metadata.builder() .setIsReadSeekEfficient(true) .setResourceId( S3ResourceId.fromComponents( firstMatch.getBucketName(), firstMatch.getKey())) .setSizeBytes(firstMatch.getSize()) .setLastModifiedMillis(firstMatch.getLastModified().getTime()) .build()))); }
Example 10
Source File: S3FileSystemTest.java From beam with Apache License 2.0 | 4 votes |
@Test public void matchVariousInvokeThreadPool() throws IOException { S3FileSystem s3FileSystem = buildMockedS3FileSystem(s3Options()); AmazonS3Exception notFoundException = new AmazonS3Exception("mock exception"); notFoundException.setStatusCode(404); S3ResourceId pathNotExist = S3ResourceId.fromUri("s3://testbucket/testdirectory/nonexistentfile"); when(s3FileSystem .getAmazonS3Client() .getObjectMetadata( argThat( new GetObjectMetadataRequestMatcher( new GetObjectMetadataRequest( pathNotExist.getBucket(), pathNotExist.getKey()))))) .thenThrow(notFoundException); AmazonS3Exception forbiddenException = new AmazonS3Exception("mock exception"); forbiddenException.setStatusCode(403); S3ResourceId pathForbidden = S3ResourceId.fromUri("s3://testbucket/testdirectory/forbiddenfile"); when(s3FileSystem .getAmazonS3Client() .getObjectMetadata( argThat( new GetObjectMetadataRequestMatcher( new GetObjectMetadataRequest( pathForbidden.getBucket(), pathForbidden.getKey()))))) .thenThrow(forbiddenException); S3ResourceId pathExist = S3ResourceId.fromUri("s3://testbucket/testdirectory/filethatexists"); ObjectMetadata s3ObjectMetadata = new ObjectMetadata(); s3ObjectMetadata.setContentLength(100); s3ObjectMetadata.setLastModified(new Date(1540000000000L)); s3ObjectMetadata.setContentEncoding("not-gzip"); when(s3FileSystem .getAmazonS3Client() .getObjectMetadata( argThat( new GetObjectMetadataRequestMatcher( new GetObjectMetadataRequest(pathExist.getBucket(), pathExist.getKey()))))) .thenReturn(s3ObjectMetadata); S3ResourceId pathGlob = S3ResourceId.fromUri("s3://testbucket/path/part*"); S3ObjectSummary foundListObject = new S3ObjectSummary(); foundListObject.setBucketName(pathGlob.getBucket()); foundListObject.setKey("path/part-0"); foundListObject.setSize(200); foundListObject.setLastModified(new Date(1541000000000L)); ListObjectsV2Result listObjectsResult = new ListObjectsV2Result(); listObjectsResult.setNextContinuationToken(null); listObjectsResult.getObjectSummaries().add(foundListObject); when(s3FileSystem.getAmazonS3Client().listObjectsV2(notNull(ListObjectsV2Request.class))) .thenReturn(listObjectsResult); ObjectMetadata metadata = new ObjectMetadata(); metadata.setContentEncoding(""); when(s3FileSystem .getAmazonS3Client() .getObjectMetadata( argThat( new GetObjectMetadataRequestMatcher( new GetObjectMetadataRequest(pathGlob.getBucket(), "path/part-0"))))) .thenReturn(metadata); assertThat( s3FileSystem.match( ImmutableList.of( pathNotExist.toString(), pathForbidden.toString(), pathExist.toString(), pathGlob.toString())), contains( MatchResultMatcher.create(MatchResult.Status.NOT_FOUND, new FileNotFoundException()), MatchResultMatcher.create( MatchResult.Status.ERROR, new IOException(forbiddenException)), MatchResultMatcher.create(100, 1540000000000L, pathExist, true), MatchResultMatcher.create( 200, 1541000000000L, S3ResourceId.fromComponents(pathGlob.getBucket(), foundListObject.getKey()), true))); }
Example 11
Source File: AccessValidatorControllerTest.java From herd with Apache License 2.0 | 4 votes |
@Test public void testValidateAccessNoStorageFiles() throws Exception { // Create business object data without any registered storage files, but with storage unit directory path and an actual non zero-byte S3 file. BusinessObjectData businessObjectData = createBusinessObjectData(); businessObjectData.getStorageUnits().get(0).setStorageFiles(null); StorageDirectory storageDirectory = new StorageDirectory(); storageDirectory.setDirectoryPath(STORAGE_DIRECTORY_PATH); businessObjectData.getStorageUnits().get(0).setStorageDirectory(storageDirectory); // Create AWS list objects response with a non zero-byte S3 file. S3ObjectSummary s3ObjectSummary = new S3ObjectSummary(); s3ObjectSummary.setKey(S3_KEY); s3ObjectSummary.setSize(FILE_SIZE_1_KB); objectListing = Mockito.mock(ObjectListing.class); when(objectListing.getObjectSummaries()).thenReturn(Lists.newArrayList(s3ObjectSummary)); // Create AWS get object request. GetObjectRequest getObjectRequest = new GetObjectRequest(S3_BUCKET_NAME, S3_KEY).withRange(0, MAX_BYTE_DOWNLOAD); // Create S3 object. S3Object s3Object = new S3Object(); s3Object.setObjectContent(new ByteArrayInputStream(RandomStringUtils.randomAlphabetic(MAX_BYTE_DOWNLOAD).getBytes())); // Create S3 object metadata. ObjectMetadata objectMetadata = new ObjectMetadata(); objectMetadata.setContentLength(MAX_BYTE_DOWNLOAD); // Mock the external calls. when(propertiesHelper.getProperty(HERD_BASE_URL_PROPERTY)).thenReturn(HERD_BASE_URL); when(propertiesHelper.getProperty(HERD_USERNAME_PROPERTY)).thenReturn(HERD_USERNAME); when(propertiesHelper.getProperty(HERD_PASSWORD_PROPERTY)).thenReturn(HERD_PASSWORD); when(propertiesHelper.getProperty(AWS_REGION_PROPERTY)).thenReturn(AWS_REGION_NAME_US_EAST_1); when(propertiesHelper.getProperty(AWS_ROLE_ARN_PROPERTY)).thenReturn(AWS_ROLE_ARN); when(propertiesHelper.getProperty(BUSINESS_OBJECT_FORMAT_VERSION_PROPERTY)).thenReturn(BUSINESS_OBJECT_FORMAT_VERSION.toString()); when(propertiesHelper.getProperty(BUSINESS_OBJECT_DATA_VERSION_PROPERTY)).thenReturn(BUSINESS_OBJECT_DATA_VERSION.toString()); when(propertiesHelper.getProperty(NAMESPACE_PROPERTY)).thenReturn(NAMESPACE); when(propertiesHelper.getProperty(BUSINESS_OBJECT_DEFINITION_NAME_PROPERTY)).thenReturn(BUSINESS_OBJECT_DEFINITION_NAME); when(propertiesHelper.getProperty(BUSINESS_OBJECT_FORMAT_USAGE_PROPERTY)).thenReturn(BUSINESS_OBJECT_FORMAT_USAGE); when(propertiesHelper.getProperty(BUSINESS_OBJECT_FORMAT_FILE_TYPE_PROPERTY)).thenReturn(BUSINESS_OBJECT_FORMAT_FILE_TYPE); when(propertiesHelper.getProperty(PRIMARY_PARTITION_VALUE_PROPERTY)).thenReturn(PRIMARY_PARTITION_VALUE); when(propertiesHelper.getProperty(SUB_PARTITION_VALUES_PROPERTY)).thenReturn(SUB_PARTITION_VALUES); when(herdApiClientOperations .businessObjectDataGetBusinessObjectData(any(BusinessObjectDataApi.class), eq(NAMESPACE), eq(BUSINESS_OBJECT_DEFINITION_NAME), eq(BUSINESS_OBJECT_FORMAT_USAGE), eq(BUSINESS_OBJECT_FORMAT_FILE_TYPE), eq(null), eq(PRIMARY_PARTITION_VALUE), eq(SUB_PARTITION_VALUES), eq(BUSINESS_OBJECT_FORMAT_VERSION), eq(BUSINESS_OBJECT_DATA_VERSION), eq(null), eq(false), eq(false))).thenReturn(businessObjectData); when(s3Operations.listObjects(any(ListObjectsRequest.class), any(AmazonS3.class))).thenReturn(objectListing); when(s3Operations.getS3Object(eq(getObjectRequest), any(AmazonS3.class))).thenReturn(s3Object); // Call the method under test with message flag set to "false". accessValidatorController.validateAccess(new File(PROPERTIES_FILE_PATH), false); // Verify the external calls. verify(herdApiClientOperations).checkPropertiesFile(propertiesHelper, false); verify(propertiesHelper).loadProperties(new File(PROPERTIES_FILE_PATH)); verify(propertiesHelper).getProperty(HERD_BASE_URL_PROPERTY); verify(propertiesHelper).getProperty(HERD_USERNAME_PROPERTY); verify(propertiesHelper).getProperty(HERD_PASSWORD_PROPERTY); verify(herdApiClientOperations).applicationGetBuildInfo(any(ApplicationApi.class)); verify(herdApiClientOperations).currentUserGetCurrentUser(any(CurrentUserApi.class)); verify(propertiesHelper).getProperty(AWS_REGION_PROPERTY); verify(propertiesHelper).getProperty(AWS_ROLE_ARN_PROPERTY); verify(propertiesHelper).getProperty(BUSINESS_OBJECT_FORMAT_VERSION_PROPERTY); verify(propertiesHelper).getProperty(BUSINESS_OBJECT_DATA_VERSION_PROPERTY); verify(propertiesHelper).getProperty(NAMESPACE_PROPERTY); verify(propertiesHelper).getProperty(BUSINESS_OBJECT_DEFINITION_NAME_PROPERTY); verify(propertiesHelper).getProperty(BUSINESS_OBJECT_FORMAT_USAGE_PROPERTY); verify(propertiesHelper).getProperty(BUSINESS_OBJECT_FORMAT_FILE_TYPE_PROPERTY); verify(propertiesHelper).getProperty(PRIMARY_PARTITION_VALUE_PROPERTY); verify(propertiesHelper).getProperty(SUB_PARTITION_VALUES_PROPERTY); verify(herdApiClientOperations) .businessObjectDataGetBusinessObjectData(any(BusinessObjectDataApi.class), eq(NAMESPACE), eq(BUSINESS_OBJECT_DEFINITION_NAME), eq(BUSINESS_OBJECT_FORMAT_USAGE), eq(BUSINESS_OBJECT_FORMAT_FILE_TYPE), eq(null), eq(PRIMARY_PARTITION_VALUE), eq(SUB_PARTITION_VALUES), eq(BUSINESS_OBJECT_FORMAT_VERSION), eq(BUSINESS_OBJECT_DATA_VERSION), eq(null), eq(false), eq(false)); verify(s3Operations).listObjects(any(ListObjectsRequest.class), any(AmazonS3.class)); verify(s3Operations).getS3Object(eq(getObjectRequest), any(AmazonS3.class)); verifyNoMoreInteractionsHelper(); }
Example 12
Source File: AccessValidatorControllerTest.java From herd with Apache License 2.0 | 4 votes |
@Test public void testValidateAccessNoStorageFilesZeroByteS3File() throws Exception { // Create business object data without any registered storage files, but with storage unit directory path and a zero-byte S3 file. BusinessObjectData businessObjectData = createBusinessObjectData(); businessObjectData.getStorageUnits().get(0).setStorageFiles(null); StorageDirectory storageDirectory = new StorageDirectory(); storageDirectory.setDirectoryPath(STORAGE_DIRECTORY_PATH); businessObjectData.getStorageUnits().get(0).setStorageDirectory(storageDirectory); // Create AWS list objects response with a zero-byte S3 file. S3ObjectSummary s3ObjectSummary = new S3ObjectSummary(); s3ObjectSummary.setKey(S3_KEY); s3ObjectSummary.setSize(FILE_SIZE_0_BYTE); objectListing = Mockito.mock(ObjectListing.class); when(objectListing.getObjectSummaries()).thenReturn(Lists.newArrayList(s3ObjectSummary)); // Create AWS get object request. GetObjectRequest getObjectRequest = new GetObjectRequest(S3_BUCKET_NAME, S3_KEY).withRange(0, MAX_BYTE_DOWNLOAD); // Create S3 object. S3Object s3Object = new S3Object(); s3Object.setObjectContent(new ByteArrayInputStream(RandomStringUtils.randomAlphabetic(MAX_BYTE_DOWNLOAD).getBytes())); // Create S3 object metadata. ObjectMetadata objectMetadata = new ObjectMetadata(); objectMetadata.setContentLength(MAX_BYTE_DOWNLOAD); // Mock the external calls. when(propertiesHelper.getProperty(HERD_BASE_URL_PROPERTY)).thenReturn(HERD_BASE_URL); when(propertiesHelper.getProperty(HERD_USERNAME_PROPERTY)).thenReturn(HERD_USERNAME); when(propertiesHelper.getProperty(HERD_PASSWORD_PROPERTY)).thenReturn(HERD_PASSWORD); when(propertiesHelper.getProperty(AWS_REGION_PROPERTY)).thenReturn(AWS_REGION_NAME_US_EAST_1); when(propertiesHelper.getProperty(AWS_ROLE_ARN_PROPERTY)).thenReturn(AWS_ROLE_ARN); when(propertiesHelper.getProperty(BUSINESS_OBJECT_FORMAT_VERSION_PROPERTY)).thenReturn(BUSINESS_OBJECT_FORMAT_VERSION.toString()); when(propertiesHelper.getProperty(BUSINESS_OBJECT_DATA_VERSION_PROPERTY)).thenReturn(BUSINESS_OBJECT_DATA_VERSION.toString()); when(propertiesHelper.getProperty(NAMESPACE_PROPERTY)).thenReturn(NAMESPACE); when(propertiesHelper.getProperty(BUSINESS_OBJECT_DEFINITION_NAME_PROPERTY)).thenReturn(BUSINESS_OBJECT_DEFINITION_NAME); when(propertiesHelper.getProperty(BUSINESS_OBJECT_FORMAT_USAGE_PROPERTY)).thenReturn(BUSINESS_OBJECT_FORMAT_USAGE); when(propertiesHelper.getProperty(BUSINESS_OBJECT_FORMAT_FILE_TYPE_PROPERTY)).thenReturn(BUSINESS_OBJECT_FORMAT_FILE_TYPE); when(propertiesHelper.getProperty(PRIMARY_PARTITION_VALUE_PROPERTY)).thenReturn(PRIMARY_PARTITION_VALUE); when(propertiesHelper.getProperty(SUB_PARTITION_VALUES_PROPERTY)).thenReturn(SUB_PARTITION_VALUES); when(herdApiClientOperations .businessObjectDataGetBusinessObjectData(any(BusinessObjectDataApi.class), eq(NAMESPACE), eq(BUSINESS_OBJECT_DEFINITION_NAME), eq(BUSINESS_OBJECT_FORMAT_USAGE), eq(BUSINESS_OBJECT_FORMAT_FILE_TYPE), eq(null), eq(PRIMARY_PARTITION_VALUE), eq(SUB_PARTITION_VALUES), eq(BUSINESS_OBJECT_FORMAT_VERSION), eq(BUSINESS_OBJECT_DATA_VERSION), eq(null), eq(false), eq(false))).thenReturn(businessObjectData); when(s3Operations.listObjects(any(ListObjectsRequest.class), any(AmazonS3.class))).thenReturn(objectListing); // Call the method under test with message flag set to "false". accessValidatorController.validateAccess(new File(PROPERTIES_FILE_PATH), false); // Verify the external calls. verify(herdApiClientOperations).checkPropertiesFile(propertiesHelper, false); verify(propertiesHelper).loadProperties(new File(PROPERTIES_FILE_PATH)); verify(propertiesHelper).getProperty(HERD_BASE_URL_PROPERTY); verify(propertiesHelper).getProperty(HERD_USERNAME_PROPERTY); verify(propertiesHelper).getProperty(HERD_PASSWORD_PROPERTY); verify(herdApiClientOperations).applicationGetBuildInfo(any(ApplicationApi.class)); verify(herdApiClientOperations).currentUserGetCurrentUser(any(CurrentUserApi.class)); verify(propertiesHelper).getProperty(AWS_REGION_PROPERTY); verify(propertiesHelper).getProperty(AWS_ROLE_ARN_PROPERTY); verify(propertiesHelper).getProperty(BUSINESS_OBJECT_FORMAT_VERSION_PROPERTY); verify(propertiesHelper).getProperty(BUSINESS_OBJECT_DATA_VERSION_PROPERTY); verify(propertiesHelper).getProperty(NAMESPACE_PROPERTY); verify(propertiesHelper).getProperty(BUSINESS_OBJECT_DEFINITION_NAME_PROPERTY); verify(propertiesHelper).getProperty(BUSINESS_OBJECT_FORMAT_USAGE_PROPERTY); verify(propertiesHelper).getProperty(BUSINESS_OBJECT_FORMAT_FILE_TYPE_PROPERTY); verify(propertiesHelper).getProperty(PRIMARY_PARTITION_VALUE_PROPERTY); verify(propertiesHelper).getProperty(SUB_PARTITION_VALUES_PROPERTY); verify(herdApiClientOperations) .businessObjectDataGetBusinessObjectData(any(BusinessObjectDataApi.class), eq(NAMESPACE), eq(BUSINESS_OBJECT_DEFINITION_NAME), eq(BUSINESS_OBJECT_FORMAT_USAGE), eq(BUSINESS_OBJECT_FORMAT_FILE_TYPE), eq(null), eq(PRIMARY_PARTITION_VALUE), eq(SUB_PARTITION_VALUES), eq(BUSINESS_OBJECT_FORMAT_VERSION), eq(BUSINESS_OBJECT_DATA_VERSION), eq(null), eq(false), eq(false)); verify(s3Operations).listObjects(any(ListObjectsRequest.class), any(AmazonS3.class)); verifyNoMoreInteractionsHelper(); }
Example 13
Source File: StorageFileHelperTest.java From herd with Apache License 2.0 | 3 votes |
/** * Creates an S3 object summary. * * @param filePath the file path * @param fileSizeInBytes the file size in bytes * * @return the S3 object summary */ private S3ObjectSummary createS3ObjectSummary(String filePath, long fileSizeInBytes) { S3ObjectSummary s3ObjectSummary = new S3ObjectSummary(); s3ObjectSummary.setKey(filePath); s3ObjectSummary.setSize(fileSizeInBytes); return s3ObjectSummary; }