Skip to content

Use TestBase resources for signer integ tests #507

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
May 29, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@
import software.amazon.awssdk.http.SdkHttpMethod;
import software.amazon.awssdk.http.SdkRequestContext;
import software.amazon.awssdk.http.apache.ApacheHttpClient;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.dynamodb.model.AttributeDefinition;
import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
import software.amazon.awssdk.services.dynamodb.model.CreateTableRequest;
Expand All @@ -50,27 +49,24 @@
import software.amazon.awssdk.services.dynamodb.model.ProvisionedThroughput;
import software.amazon.awssdk.services.dynamodb.model.PutItemRequest;
import software.amazon.awssdk.services.dynamodb.model.ScalarAttributeType;
import software.amazon.awssdk.testutils.service.AwsTestBase;
import software.amazon.awssdk.utils.IoUtils;
import utils.resources.tables.BasicTempTable;
import utils.test.util.DynamoDBTestBase;
import utils.test.util.TableUtils;

public class SignersIntegrationTest extends AwsTestBase {
public class SignersIntegrationTest extends DynamoDBTestBase {

private static final Region REGION = Region.US_WEST_1;
private static final String TABLE_NAME = BasicTempTable.TEMP_TABLE_NAME;
private static final String HASH_KEY_NAME = "UID";
private static final String HASH_KEY_NAME = BasicTempTable.HASH_KEY_NAME;
private static final String HASH_KEY_VALUE = "123789";
private static final String ATTRIBUTE_FOO = "foo";
private static final String ATTRIBUTE_FOO_VALUE = "bar";
private static final AwsCredentials awsCredentials = CREDENTIALS_PROVIDER_CHAIN.getCredentials();
private static final String SIGNING_NAME = "dynamodb";

private static DynamoDBClient dynamo;

@BeforeClass
public static void setUpFixture() throws Exception {
dynamo = DynamoDBClient.builder().region(REGION).build();
DynamoDBTestBase.setUpTestBase();

dynamo.createTable(CreateTableRequest.builder().tableName(TABLE_NAME)
.keySchema(KeySchemaElement.builder().keyType(KeyType.HASH)
Expand Down Expand Up @@ -172,10 +168,14 @@ private SdkHttpFullRequest generateBasicRequest() {
.header("X-Amz-Target", "DynamoDB_20120810.GetItem")
.encodedPath("/")
.protocol("https")
.host("dynamodb.us-west-1.amazonaws.com")
.host(getHost())
.build();
}

private String getHost() {
return String.format("dynamodb.%s.amazonaws.com", REGION.value());
}

private String getInputContent() {
return "{ \n"
+ " \"TableName\":\"" + TABLE_NAME + "\",\n"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@
public class DynamoDBTestBase extends AwsTestBase {
protected static final String ENDPOINT = "http://dynamodb.us-east-1.amazonaws.com/";

protected static final Region REGION = Region.US_EAST_1;

protected static DynamoDBClient dynamo;

private static final Logger log = Logger.loggerFor(DynamoDBTestBase.class);
Expand All @@ -49,7 +51,7 @@ public static void setUpTestBase() {
throw new SdkClientException("Unable to load credential property file.", e);
}

dynamo = DynamoDBClient.builder().region(Region.US_EAST_1).credentialsProvider(CREDENTIALS_PROVIDER_CHAIN).build();
dynamo = DynamoDBClient.builder().region(REGION).credentialsProvider(CREDENTIALS_PROVIDER_CHAIN).build();
}

public static DynamoDBClient getClient() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
import org.junit.Test;
import software.amazon.awssdk.auth.AwsExecutionAttributes;
import software.amazon.awssdk.auth.credentials.AwsCredentials;
import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider;
import software.amazon.awssdk.auth.signer.Aws4Signer;
import software.amazon.awssdk.auth.signer.params.Aws4PresignerParams;
import software.amazon.awssdk.auth.signer.params.AwsS3V4SignerParams;
Expand All @@ -55,15 +54,13 @@

public class AwsS3V4SignerIntegrationTest extends S3IntegrationTestBase {

private static final AwsCredentials awsCredentials = CREDENTIALS_PROVIDER_CHAIN.getCredentials();
private static final Region REGION = Region.US_WEST_2;
private static final String SIGNING_NAME = "s3";
private static final String BUCKET_NAME = temporaryBucketName("s3-signer-integ-test");
private static final String KEY = "test-key";
private static final String CONTENT = "Hello world";

private static final AwsCredentials awsCredentials = DefaultCredentialsProvider.create().getCredentials();
private static final S3Client s3 = S3Client.builder().region(REGION).build();

@BeforeClass
public static void setup() {
createBucket(BUCKET_NAME);
Expand Down