diff --git a/Makefile b/Makefile index 0a56d3f0f..576020c14 100644 --- a/Makefile +++ b/Makefile @@ -17,9 +17,9 @@ $(SUBINITIALIZE): %.initialize: start-docker: start-docker-s3 start-docker-kms start-docker-localstack start-docker-localstack: - docker pull localstack/localstack:0.14.2 + docker pull localstack/localstack:3.0.0 docker start async_aws_localstack && exit 0 || \ - docker run -d -p 4566:4566 -p 4567:4566 -p 4568:4566 -p 4571:4566 -p 4572:4566 -p 4573:4566 -p 4574:4566 -p 4575:4566 -p 4576:4566 -p 4577:4566 -p 4578:4566 -e SERVICES=sts,cloudformation,logs,events,iam,sns,ssm,dynamodb,route53,kinesis,secretsmanager -v /var/run/docker.sock:/var/run/docker.sock --name async_aws_localstack localstack/localstack:0.14.2 && \ + docker run -d -p 4566:4566 -p 4567:4566 -p 4568:4566 -p 4571:4566 -p 4572:4566 -p 4573:4566 -p 4574:4566 -p 4575:4566 -p 4576:4566 -p 4577:4566 -p 4578:4566 -e SERVICES=sts,cloudformation,logs,events,iam,sns,ssm,dynamodb,route53,kinesis,secretsmanager -v /var/run/docker.sock:/var/run/docker.sock --name async_aws_localstack localstack/localstack:3.0.0 && \ docker run --rm --link async_aws_localstack:localstack martin/wait -c localstack:4566 start-docker-s3: docker pull asyncaws/testing-s3 diff --git a/src/Core/Makefile b/src/Core/Makefile index da2042b46..da1acd516 100644 --- a/src/Core/Makefile +++ b/src/Core/Makefile @@ -4,8 +4,8 @@ initialize: start-docker start-docker: docker start async_aws_localstack && exit 0 || \ docker start async_aws_localstack-sts && exit 0 || \ - docker pull localstack/localstack:0.14.2 && \ - docker run -d -p 4566:4566 -e SERVICES=sts -v /var/run/docker.sock:/var/run/docker.sock --name async_aws_localstack-sts localstack/localstack:0.14.2 && \ + docker pull localstack/localstack:3.0.0 && \ + docker run -d -p 4566:4566 -e SERVICES=sts -v /var/run/docker.sock:/var/run/docker.sock --name async_aws_localstack-sts localstack/localstack:3.0.0 && \ docker run --rm --link async_aws_localstack-sts:localstack martin/wait -c localstack:4566 test: initialize diff --git a/src/Core/tests/Integration/StsClientTest.php b/src/Core/tests/Integration/StsClientTest.php index a2d7e01e9..7cbef56a1 100644 --- a/src/Core/tests/Integration/StsClientTest.php +++ b/src/Core/tests/Integration/StsClientTest.php @@ -65,7 +65,7 @@ public function testAssumeRoleWithWebIdentity(): void self::assertNotNull($result->getCredentials()); self::assertLessThanOrEqual(new \DateTime('+5min'), $result->getCredentials()->getExpiration()); self::assertNotNull($result->getAssumedRoleUser()); - self::assertSame('arn:aws:sts::000000000000:assumed-role/FederatedWebIdentityRole/app1', $result->getAssumedRoleUser()->getArn()); + self::assertSame('arn:aws:sts::123456789012:assumed-role/FederatedWebIdentityRole/app1', $result->getAssumedRoleUser()->getArn()); self::assertSame(6, $result->getPackedPolicySize()); } @@ -78,7 +78,7 @@ public function testGetCallerIdentity(): void self::assertNotNull($result->getUserId()); self::assertStringContainsString('000000000000', $result->getAccount()); - self::assertStringContainsString('arn:aws:sts::000000000000:user/localstack', $result->getArn()); + self::assertStringContainsString('arn:aws:iam::000000000000:root', $result->getArn()); } public function testNonAwsRegionWithCustomEndpoint(): void diff --git a/src/Service/CloudFormation/Makefile b/src/Service/CloudFormation/Makefile index fefffb819..d51bace0e 100644 --- a/src/Service/CloudFormation/Makefile +++ b/src/Service/CloudFormation/Makefile @@ -4,8 +4,8 @@ initialize: start-docker start-docker: docker start async_aws_localstack && exit 0 || \ docker start async_aws_localstack-cloudformation && exit 0 || \ - docker pull localstack/localstack:0.14.2 && \ - docker run -d -p 4567:4566 -e SERVICES=cloudformation -v /var/run/docker.sock:/var/run/docker.sock --name async_aws_localstack-cloudformation localstack/localstack:0.14.2 && \ + docker pull localstack/localstack:3.0.0 && \ + docker run -d -p 4567:4566 -e SERVICES=cloudformation -v /var/run/docker.sock:/var/run/docker.sock --name async_aws_localstack-cloudformation localstack/localstack:3.0.0 && \ docker run --rm --link async_aws_localstack-cloudformation:localstack martin/wait -c localstack:4566 test: initialize diff --git a/src/Service/CloudWatchLogs/Makefile b/src/Service/CloudWatchLogs/Makefile index c5b00f127..985c3ea58 100644 --- a/src/Service/CloudWatchLogs/Makefile +++ b/src/Service/CloudWatchLogs/Makefile @@ -4,8 +4,8 @@ initialize: start-docker start-docker: docker start async_aws_localstack && exit 0 || \ docker start async_aws_localstack-logs && exit 0 || \ - docker pull localstack/localstack:0.14.2 && \ - docker run -d -p 4568:4566 -e SERVICES=logs -v /var/run/docker.sock:/var/run/docker.sock --name async_aws_localstack-logs localstack/localstack:0.14.2 && \ + docker pull localstack/localstack:3.0.0 && \ + docker run -d -p 4568:4566 -e SERVICES=logs -v /var/run/docker.sock:/var/run/docker.sock --name async_aws_localstack-logs localstack/localstack:3.0.0 && \ docker run --rm --link async_aws_localstack-logs:localstack martin/wait -c localstack:4566 test: initialize diff --git a/src/Service/DynamoDb/Makefile b/src/Service/DynamoDb/Makefile index 8093f265b..925f6266a 100644 --- a/src/Service/DynamoDb/Makefile +++ b/src/Service/DynamoDb/Makefile @@ -4,8 +4,8 @@ initialize: start-docker start-docker: docker start async_aws_localstack && exit 0 || \ docker start async_aws_localstack-dynamodb && exit 0 || \ - docker pull localstack/localstack:0.14.2 && \ - docker run -d -p 4575:4566 -e SERVICES=dynamodb -v /var/run/docker.sock:/var/run/docker.sock --name async_aws_localstack-dynamodb localstack/localstack:0.14.2 && \ + docker pull localstack/localstack:3.0.0 && \ + docker run -d -p 4575:4566 -e SERVICES=dynamodb -v /var/run/docker.sock:/var/run/docker.sock --name async_aws_localstack-dynamodb localstack/localstack:3.0.0 && \ docker run --rm --link async_aws_localstack-dynamodb:localstack martin/wait -c localstack:4566 test: initialize diff --git a/src/Service/DynamoDb/tests/Integration/DynamoDbClientTest.php b/src/Service/DynamoDb/tests/Integration/DynamoDbClientTest.php index e7d77da70..ac780b8f1 100644 --- a/src/Service/DynamoDb/tests/Integration/DynamoDbClientTest.php +++ b/src/Service/DynamoDb/tests/Integration/DynamoDbClientTest.php @@ -7,6 +7,7 @@ use AsyncAws\DynamoDb\DynamoDbClient; use AsyncAws\DynamoDb\Enum\KeyType; use AsyncAws\DynamoDb\Enum\ProjectionType; +use AsyncAws\DynamoDb\Enum\ReturnConsumedCapacity; use AsyncAws\DynamoDb\Input\BatchGetItemInput; use AsyncAws\DynamoDb\Input\BatchWriteItemInput; use AsyncAws\DynamoDb\Input\CreateTableInput; @@ -348,9 +349,11 @@ public function testPutItem(): void 'Subject' => ['S' => 'How do I update multiple items?'], 'LastPostedBy' => ['S' => 'fred@example.com'], ], + 'ReturnConsumedCapacity' => ReturnConsumedCapacity::INDEXES, ]); $result = $client->putItem($input); + self::assertNotNull($result->getConsumedCapacity()); self::assertSame(1.0, $result->getConsumedCapacity()->getCapacityUnits()); } diff --git a/src/Service/EventBridge/Makefile b/src/Service/EventBridge/Makefile index 23894f055..6a8220d89 100644 --- a/src/Service/EventBridge/Makefile +++ b/src/Service/EventBridge/Makefile @@ -4,8 +4,8 @@ initialize: start-docker start-docker: docker start async_aws_localstack && exit 0 || \ docker start async_aws_localstack-events && exit 0 || \ - docker pull localstack/localstack:0.14.2 && \ - docker run -d -p 4571:4566 -e SERVICES=events -v /var/run/docker.sock:/var/run/docker.sock --name async_aws_localstack-events localstack/localstack:0.14.2 && \ + docker pull localstack/localstack:3.0.0 && \ + docker run -d -p 4571:4566 -e SERVICES=events -v /var/run/docker.sock:/var/run/docker.sock --name async_aws_localstack-events localstack/localstack:3.0.0 && \ docker run --rm --link async_aws_localstack-events:localstack martin/wait -c localstack:4566 test: initialize diff --git a/src/Service/Iam/Makefile b/src/Service/Iam/Makefile index 591c3a857..5d5a6469a 100644 --- a/src/Service/Iam/Makefile +++ b/src/Service/Iam/Makefile @@ -4,8 +4,8 @@ initialize: start-docker start-docker: docker start async_aws_localstack && exit 0 || \ docker start async_aws_localstack-iam && exit 0 || \ - docker pull localstack/localstack:0.14.2 && \ - docker run -d -p 4572:4566 -e SERVICES=iam -v /var/run/docker.sock:/var/run/docker.sock --name async_aws_localstack-iam localstack/localstack:0.14.2 && \ + docker pull localstack/localstack:3.0.0 && \ + docker run -d -p 4572:4566 -e SERVICES=iam -v /var/run/docker.sock:/var/run/docker.sock --name async_aws_localstack-iam localstack/localstack:3.0.0 && \ docker run --rm --link async_aws_localstack-iam:localstack martin/wait -c localstack:4566 test: initialize diff --git a/src/Service/Kinesis/Makefile b/src/Service/Kinesis/Makefile index b1ee8156b..3bf9d82dc 100644 --- a/src/Service/Kinesis/Makefile +++ b/src/Service/Kinesis/Makefile @@ -4,8 +4,8 @@ initialize: start-docker start-docker: docker start async_aws_localstack && exit 0 || \ docker start async_aws_localstack-kinesis && exit 0 || \ - docker pull localstack/localstack:0.14.2 && \ - docker run -d -p 4578:4566 -e SERVICES=kinesis -v /var/run/docker.sock:/var/run/docker.sock --name async_aws_localstack-kinesis localstack/localstack:0.14.2 && \ + docker pull localstack/localstack:3.0.0 && \ + docker run -d -p 4578:4566 -e SERVICES=kinesis -v /var/run/docker.sock:/var/run/docker.sock --name async_aws_localstack-kinesis localstack/localstack:3.0.0 && \ docker run --rm --link async_aws_localstack-kinesis:localstack martin/wait -c localstack:4566 test: initialize diff --git a/src/Service/Route53/Makefile b/src/Service/Route53/Makefile index 311b6ebfc..5c74df97d 100644 --- a/src/Service/Route53/Makefile +++ b/src/Service/Route53/Makefile @@ -4,8 +4,8 @@ initialize: start-docker start-docker: docker start async_aws_localstack && exit 0 || \ docker start async_aws_localstack-route53 && exit 0 || \ - docker pull localstack/localstack:0.14.2 && \ - docker run -d -p 4576:4566 -e SERVICES=route53 -v /var/run/docker.sock:/var/run/docker.sock --name async_aws_localstack-route53 localstack/localstack:0.14.2 && \ + docker pull localstack/localstack:3.0.0 && \ + docker run -d -p 4576:4566 -e SERVICES=route53 -v /var/run/docker.sock:/var/run/docker.sock --name async_aws_localstack-route53 localstack/localstack:3.0.0 && \ docker run --rm --link async_aws_localstack-route53:localstack martin/wait -c localstack:4566 test: initialize diff --git a/src/Service/Route53/tests/Integration/Route53ClientTest.php b/src/Service/Route53/tests/Integration/Route53ClientTest.php index 2a1b58f67..31131d709 100644 --- a/src/Service/Route53/tests/Integration/Route53ClientTest.php +++ b/src/Service/Route53/tests/Integration/Route53ClientTest.php @@ -80,6 +80,8 @@ public function testChangeResourceRecordSets(): void public function testCreateHostedZone(): void { + self::markTestSkipped('Localstack does not implement this operation correctly'); + $client = $this->getClient(); $this->deleteZone('test-domain.com.'); @@ -221,7 +223,8 @@ public function testListResourceRecordSets(): void $result->resolve(); - self::assertCount(2, iterator_to_array($result->getResourceRecordSets())); + // Creating a zone automatically creates NS and SOA records, and we added 2 records above. + self::assertCount(4, iterator_to_array($result->getResourceRecordSets())); self::assertFalse($result->getIsTruncated()); self::assertNull($result->getNextRecordName()); } diff --git a/src/Service/SecretsManager/Makefile b/src/Service/SecretsManager/Makefile index 7a1e81b27..10d5c92ea 100644 --- a/src/Service/SecretsManager/Makefile +++ b/src/Service/SecretsManager/Makefile @@ -4,8 +4,8 @@ initialize: start-docker start-docker: docker start async_aws_localstack && exit 0 || \ docker start async_aws_localstack-secretsmanager && exit 0 || \ - docker pull localstack/localstack:0.14.2 && \ - docker run -d -p 4577:4566 -e SERVICES=secretsmanager -v /var/run/docker.sock:/var/run/docker.sock --name async_aws_localstack-secretsmanager localstack/localstack:0.14.2 && \ + docker pull localstack/localstack:3.0.0 && \ + docker run -d -p 4577:4566 -e SERVICES=secretsmanager -v /var/run/docker.sock:/var/run/docker.sock --name async_aws_localstack-secretsmanager localstack/localstack:3.0.0 && \ docker run --rm --link async_aws_localstack-secretsmanager:localstack martin/wait -c localstack:4566 test: initialize diff --git a/src/Service/Sns/Makefile b/src/Service/Sns/Makefile index 05a4ca6ec..73228fe24 100644 --- a/src/Service/Sns/Makefile +++ b/src/Service/Sns/Makefile @@ -4,8 +4,8 @@ initialize: start-docker start-docker: docker start async_aws_localstack && exit 0 || \ docker start async_aws_localstack-sns && exit 0 || \ - docker pull localstack/localstack:0.14.2 && \ - docker run -d -p 4573:4566 -e SERVICES=sns -v /var/run/docker.sock:/var/run/docker.sock --name async_aws_localstack-sns localstack/localstack:0.14.2 && \ + docker pull localstack/localstack:3.0.0 && \ + docker run -d -p 4573:4566 -e SERVICES=sns -v /var/run/docker.sock:/var/run/docker.sock --name async_aws_localstack-sns localstack/localstack:3.0.0 && \ docker run --rm --link async_aws_localstack-sns:localstack martin/wait -c localstack:4566 test: initialize diff --git a/src/Service/Ssm/Makefile b/src/Service/Ssm/Makefile index f13f11281..9684470c4 100644 --- a/src/Service/Ssm/Makefile +++ b/src/Service/Ssm/Makefile @@ -4,8 +4,8 @@ initialize: start-docker start-docker: docker start async_aws_localstack && exit 0 || \ docker start async_aws_localstack-ssm && exit 0 || \ - docker pull localstack/localstack:0.14.2 && \ - docker run -d -p 4574:4566 -e SERVICES=ssm -v /var/run/docker.sock:/var/run/docker.sock --name async_aws_localstack-ssm localstack/localstack:0.14.2 && \ + docker pull localstack/localstack:3.0.0 && \ + docker run -d -p 4574:4566 -e SERVICES=ssm -v /var/run/docker.sock:/var/run/docker.sock --name async_aws_localstack-ssm localstack/localstack:3.0.0 && \ docker run --rm --link async_aws_localstack-ssm:localstack martin/wait -c localstack:4566 test: initialize