Skip to content

Commit

Permalink
Merge 8efe332 into 5ba2cb0
Browse files Browse the repository at this point in the history
  • Loading branch information
ctdio committed Nov 1, 2018
2 parents 5ba2cb0 + 8efe332 commit ff207a3
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 3 deletions.
6 changes: 3 additions & 3 deletions localstack/services/dynamodb/dynamodb_listener.py
Expand Up @@ -94,9 +94,9 @@ def return_response(self, method, path, data, headers, response):
TABLE_DEFINITIONS[data['TableName']] = data

if response._content:
# fix the table ARN (DynamoDBLocal hardcodes "ddblocal" as the region)
content_replaced = re.sub(r'"TableArn"\s*:\s*"arn:aws:dynamodb:ddblocal:([^"]+)"',
r'"TableArn": "arn:aws:dynamodb:%s:\1"' % aws_stack.get_local_region(), to_str(response._content))
# fix the table and latest stream ARNs (DynamoDBLocal hardcodes "ddblocal" as the region)
content_replaced = re.sub(r'("TableArn"|"LatestStreamArn")\s*:\s*"arn:aws:dynamodb:ddblocal:([^"]+)"',
r'\1: "arn:aws:dynamodb:%s:\2"' % aws_stack.get_local_region(), to_str(response._content))
if content_replaced != response._content:
response._content = content_replaced
fix_headers_for_updated_response(response)
Expand Down
16 changes: 16 additions & 0 deletions tests/integration/test_dynamodb.py
Expand Up @@ -9,6 +9,7 @@
TEST_DDB_TABLE_NAME = 'test-ddb-table-1'
TEST_DDB_TABLE_NAME_2 = 'test-ddb-table-2'
TEST_DDB_TABLE_NAME_3 = 'test-ddb-table-3'
TEST_DDB_TABLE_NAME_4 = 'test-ddb-table-4'
PARTITION_KEY = 'id'


Expand Down Expand Up @@ -132,3 +133,18 @@ def test_list_tags_of_resource(self):
}))
assert response.status_code == 200
assert json.loads(response._content)['Tags'] == [] # Empty list returned

def test_region_replacement(self):
dynamodb = aws_stack.connect_to_resource('dynamodb')
testutil.create_dynamodb_table(
TEST_DDB_TABLE_NAME_4,
partition_key=PARTITION_KEY,
stream_view_type='NEW_AND_OLD_IMAGES'
)

table = dynamodb.Table(TEST_DDB_TABLE_NAME_4)

expected_arn_prefix = 'arn:aws:dynamodb:' + aws_stack.get_local_region()

assert table.table_arn.startswith(expected_arn_prefix)
assert table.latest_stream_arn.startswith(expected_arn_prefix)

0 comments on commit ff207a3

Please sign in to comment.