Guest User

Untitled

a guest
Jun 21st, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.20 KB | None | 0 0
  1. package io.ansr.piker.unit
  2.  
  3. import com.amazonaws.services.s3.AmazonS3Client
  4. import com.amazonaws.services.s3.model.CannedAccessControlList
  5. import com.amazonaws.services.s3.model.ObjectListing
  6. import com.amazonaws.services.s3.model.PutObjectRequest
  7. import com.amazonaws.services.s3.model.PutObjectResult
  8. import com.amazonaws.services.s3.model.S3ObjectSummary
  9. import io.ansr.piker.AppUtils
  10. import org.apache.commons.io.FileUtils
  11. import org.apache.commons.io.IOUtils
  12.  
  13. import java.nio.file.Files
  14. import java.nio.file.StandardCopyOption
  15.  
  16.  
  17. class AmazonS3ClientUnitUtil extends AmazonS3Client{
  18.  
  19.  
  20. ObjectListing listObjects(String exportBucket, String campaignPk){
  21. //TODO create file listing for unit tests
  22. ObjectListing listing = new ObjectListing()
  23. listing.setBucketName(exportBucket)
  24. List<S3ObjectSummary> objects = []
  25. File directory = new File(exportBucket)
  26. if(directory.exists()){
  27. directory.eachFileRecurse { File internalFile ->
  28. S3ObjectSummary object = new S3ObjectSummary()
  29. object.setBucketName(exportBucket)
  30. object.setKey(internalFile.toString().substring(internalFile.toString().indexOf('/', 0) + 1))
  31. objects.add(object)
  32. }
  33. }
  34. listing.objectSummaries = objects
  35. return listing
  36. }
  37.  
  38. PutObjectResult putObject(PutObjectRequest putObjectRequest){
  39. putObjectRequest.setCannedAcl(CannedAccessControlList.Private)
  40. final String filePath = [putObjectRequest.getBucketName(), putObjectRequest.getKey()].join('/')
  41. File s3Object = new File(filePath)
  42. if(putObjectRequest.file?.exists()){
  43. FileUtils.copyFile(putObjectRequest.file, s3Object)
  44. }else if(putObjectRequest.inputStream){
  45. Files.copy(putObjectRequest.inputStream,
  46. s3Object.toPath(),
  47. StandardCopyOption.REPLACE_EXISTING)
  48. IOUtils.closeQuietly(putObjectRequest.inputStream)
  49. }
  50.  
  51. PutObjectResult result = new PutObjectResult()
  52. result.setMetadata(putObjectRequest.metadata)
  53. result.setVersionId(AppUtils.generatePk(10))
  54. result.setContentMd5(AppUtils.generatePk(10))
  55. return result
  56. }
  57.  
  58. }
Add Comment
Please, Sign In to add comment