/*
* 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.dynamodbv2.dynamodbmapper;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertSame;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.services.s3.model.Region;
import org.junit.Before;
import org.junit.Test;
public class ConfigureS3LinksTest {
private S3ClientCache s3cc;
@Before
public void setUp() throws Exception {
s3cc = new S3ClientCache(new BasicAWSCredentials("mock", "mock"));
}
@DynamoDBTable(tableName = "nonexisting-test-name")
public static class NoOptionsAnnotationTestClass {
private String hk;
private S3Link s3;
public NoOptionsAnnotationTestClass() {
}
@DynamoDBHashKey
public String getHk() {
return hk;
}
public void setHk(String hk) {
this.hk = hk;
}
public S3Link getS3() {
return s3;
}
public void setS3(S3Link s3) {
this.s3 = s3;
}
}
@DynamoDBTable(tableName = "nonexisting-test-tablename")
public static class CorrecctTestClass {
private String hk;
private S3Link s3;
public CorrecctTestClass() {
}
@DynamoDBHashKey
public String getHk() {
return hk;
}
public void setHk(String hk) {
this.hk = hk;
}
public S3Link getS3() {
return s3;
}
public void setS3(S3Link s3) {
this.s3 = s3;
}
}
@Test
public void testExplicitRegionClass() {
CorrecctTestClass obj = new CorrecctTestClass();
S3Link s3 = new S3Link(s3cc, Region.AP_Singapore, "nonexisting-test-bucketname2", "key");
obj.setS3(s3);
assertNotNull(obj.getS3());
assertEquals("nonexisting-test-bucketname2", obj.getS3().getBucketName());
assertSame(Region.AP_Singapore, obj.getS3().getS3Region());
}
@DynamoDBTable(tableName = "nonexisting-test-tablename")
public static class ManyS3LinksTestClass {
private String hk;
private S3Link s3_1;
private S3Link s3_2;
private S3Link s3_3;
private S3Link s3_4;
private S3Link s3_5;
private S3Link s3_6;
public ManyS3LinksTestClass() {
}
@DynamoDBHashKey
public String getHk() {
return hk;
}
public void setHk(String hk) {
this.hk = hk;
}
public S3Link getS3_1() {
return s3_1;
}
public void setS3_1(S3Link s3_1) {
this.s3_1 = s3_1;
}
public S3Link getS3_2() {
return s3_2;
}
public void setS3_2(S3Link s3_2) {
this.s3_2 = s3_2;
}
public S3Link getS3_3() {
return s3_3;
}
public void setS3_3(S3Link s3_3) {
this.s3_3 = s3_3;
}
public S3Link getS3_4() {
return s3_4;
}
public void setS3_4(S3Link s3_4) {
this.s3_4 = s3_4;
}
public S3Link getS3_5() {
return s3_5;
}
public void setS3_5(S3Link s3_5) {
this.s3_5 = s3_5;
}
public S3Link getS3_6() {
return s3_6;
}
public void setS3_6(S3Link s3_6) {
this.s3_6 = s3_6;
}
}
@Test
public void testManyS3LinksClass() {
ManyS3LinksTestClass obj = new ManyS3LinksTestClass();
assertNull(obj.getS3_1());
}
}