/* * Copyright 2010-2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at: * * http://aws.amazon.com/apache2.0 * * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES * OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and * limitations under the License. */ package com.amazonaws.mobileconnectors.s3.transfermanager; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import com.amazonaws.services.s3.model.ResponseHeaderOverrides; import org.junit.Test; public class PersistableTransferTest { @Test public void testUpload() { PersistableUpload target = new PersistableUpload("bucketName", "key", "file", "multipartUploadId", 10, 1000); assertEquals("type", PersistableUpload.TYPE, target.getPauseType()); String json = target.serialize(); PersistableUpload upload = PersistableTransfer.deserializeFrom(json); assertEquals("type", target.getPauseType(), upload.getPauseType()); assertEquals("bucketName", target.getBucketName(), upload.getBucketName()); assertEquals("key", target.getKey(), upload.getKey()); assertEquals("file", target.getFile(), upload.getFile()); assertEquals("multipartUploadId", target.getMultipartUploadId(), upload.getMultipartUploadId()); assertTrue("partSize", target.getPartSize() == upload.getPartSize()); assertTrue("multipartUploadThreshold", target.getMutlipartUploadThreshold() == upload.getMutlipartUploadThreshold()); } @Test public void testDownload() { long[] range = new long[] { 0, 1000 }; ResponseHeaderOverrides responseHeaders = new ResponseHeaderOverrides(); responseHeaders.setCacheControl("cacheControls"); responseHeaders.setContentDisposition("contentDisposition"); responseHeaders.setContentEncoding("contentEncoding"); responseHeaders.setContentLanguage("contentLanguage"); responseHeaders.setContentType("contentType"); responseHeaders.setExpires("expires"); PersistableDownload target = new PersistableDownload("bucketName", "key", "versionId", range, responseHeaders, true, "file"); assertEquals("type", PersistableDownload.TYPE, target.getPauseType()); String json = target.serialize(); PersistableDownload download = PersistableTransfer.deserializeFrom(json); assertEquals("type", target.getPauseType(), download.getPauseType()); assertEquals("bucketName", target.getBucketName(), download.getBucketName()); assertEquals("key", target.getKey(), download.getKey()); assertEquals("versionId", target.getVersionId(), download.getVersionId()); assertTrue("range size", target.getRange().length == download.getRange().length); assertTrue(target.getRange()[0] == download.getRange()[0]); assertTrue(target.getRange()[1] == download.getRange()[1]); assertTrue("isRequesterPays", target.isRequesterPays() == download.isRequesterPays()); assertEquals("file", target.getFile(), download.getFile()); assertEquals("cacheControl", responseHeaders.getCacheControl(), download.getResponseHeaders().getCacheControl()); assertEquals("contentDisposition", responseHeaders.getContentDisposition(), download.getResponseHeaders().getContentDisposition()); assertEquals("contentEncoding", responseHeaders.getContentEncoding(), download.getResponseHeaders().getContentEncoding()); assertEquals("contentLanguage", responseHeaders.getContentLanguage(), download.getResponseHeaders().getContentLanguage()); assertEquals("contentType", responseHeaders.getContentType(), download.getResponseHeaders().getContentType()); assertEquals("expires", responseHeaders.getExpires(), download.getResponseHeaders().getExpires()); } }