Skip to content

Commit 931ea4d

Browse files
authored
Update lambda service intergration test to wait for function to be Active after createFunction (#2886)
1 parent 6081647 commit 931ea4d

File tree

2 files changed

+11
-8
lines changed

2 files changed

+11
-8
lines changed

services/lambda/src/it/java/software/amazon/awssdk/services/lambda/IntegrationTestBase.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,11 +121,12 @@ private static void createLambdaServiceRole() {
121121
.assumeRolePolicyDocument(LAMBDA_ASSUME_ROLE_POLICY).build());
122122

123123
lambdaServiceRoleArn = result.role().arn();
124+
iam.waiter().waitUntilRoleExists(r -> r.roleName(LAMBDA_SERVICE_ROLE_NAME)).matched().response().ifPresent(o -> {});
124125

125126
roleExecutionPolicyArn = iam
126127
.createPolicy(CreatePolicyRequest.builder().policyName(LAMBDA_SERVICE_ROLE_POLICY_NAME).policyDocument(
127128
LAMBDA_ROLE_EXECUTION_POLICY).build()).policy().arn();
128-
129+
iam.waiter().waitUntilPolicyExists(p -> p.policyArn(roleExecutionPolicyArn)).matched().response().ifPresent(o -> {});
129130
iam.attachRolePolicy(AttachRolePolicyRequest.builder().roleName(LAMBDA_SERVICE_ROLE_NAME).policyArn(
130131
roleExecutionPolicyArn).build());
131132
}

services/lambda/src/it/java/software/amazon/awssdk/services/lambda/ServiceIntegrationTest.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,8 @@
2020
import java.io.InputStream;
2121
import java.nio.charset.StandardCharsets;
2222
import java.util.concurrent.TimeUnit;
23-
import org.junit.After;
23+
import org.junit.AfterClass;
2424
import org.junit.Assert;
25-
import org.junit.Before;
2625
import org.junit.BeforeClass;
2726
import org.junit.Ignore;
2827
import org.junit.Rule;
@@ -46,6 +45,7 @@
4645
import software.amazon.awssdk.services.lambda.model.ListFunctionsResponse;
4746
import software.amazon.awssdk.services.lambda.model.LogType;
4847
import software.amazon.awssdk.services.lambda.model.Runtime;
48+
import software.amazon.awssdk.services.lambda.waiters.LambdaAsyncWaiter;
4949
import software.amazon.awssdk.testutils.retry.RetryRule;
5050
import software.amazon.awssdk.utils.BinaryUtils;
5151

@@ -58,12 +58,12 @@ public class ServiceIntegrationTest extends IntegrationTestBase {
5858
public RetryRule retryRule = new RetryRule(10, 2000, TimeUnit.MILLISECONDS);
5959

6060
@BeforeClass
61-
public static void setUpKinesis() {
61+
public static void setUpKinesis() throws IOException {
6262
IntegrationTestBase.createKinesisStream();
63+
uploadFunction();
6364
}
6465

65-
@Before
66-
public void uploadFunction() throws IOException {
66+
public static void uploadFunction() throws IOException {
6767
// Upload function
6868
SdkBytes functionBits;
6969
InputStream functionZip = new FileInputStream(cloudFuncZip);
@@ -81,11 +81,13 @@ public void uploadFunction() throws IOException {
8181
.timeout(10)
8282
.role(lambdaServiceRoleArn)).join();
8383

84+
lambda.waiter()
85+
.waitUntilFunctionActive(r -> r.functionName(FUNCTION_NAME));
8486
checkValid_CreateFunctionResponse(result);
8587
}
8688

87-
@After
88-
public void deleteFunction() {
89+
@AfterClass
90+
public static void deleteFunction() {
8991
lambda.deleteFunction(DeleteFunctionRequest.builder().functionName(FUNCTION_NAME).build());
9092
}
9193

0 commit comments

Comments
 (0)