/*
* Copyright 2013 EMC Corporation. 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.
* A copy of the License is located at
*
* http://www.apache.org/licenses/LICENSE-2.0.txt
*
* or in the "license" file accompanying this file. 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.emc.vipr.services.s3;
import com.amazonaws.services.s3.model.ObjectMetadata;
import com.amazonaws.services.s3.model.S3Object;
import org.junit.Assume;
import org.junit.Test;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import static org.junit.Assert.assertEquals;
/**
* Test using the S3 Encryption Client with ViPR.
*/
public class S3EncryptionClientTest extends AbstractViPRS3Test {
@Override
protected String getTestBucketPrefix() {
return "basic-s3-encryption-tests";
}
@Override
protected void initS3() throws Exception{
s3 = S3ClientFactory.getEncryptionClient();
Assume.assumeTrue("Could not configure S3 connection", s3 != null);
}
@Test
public void testPutDeleteObjectEncrypted() throws Exception {
String key = "testkey";
String testString = "Hello World!";
byte[] data = testString.getBytes();
ObjectMetadata om = new ObjectMetadata();
om.setContentLength(data.length);
om.setContentType("text/plain");
s3.putObject(getTestBucket(), key, new ByteArrayInputStream(data), om);
S3Object s3o = s3.getObject(getTestBucket(), key);
InputStream in = s3o.getObjectContent();
data = new byte[data.length];
in.read(data);
in.close();
String outString = new String(data);
assertEquals("String not equal", testString, outString);
s3.deleteObject(getTestBucket(), key);
}
}