Skip to content

Commit 4868a56

Browse files
committed
fix awaiting results in tests using async clients
1 parent f21b7ef commit 4868a56

File tree

2 files changed

+39
-26
lines changed

2 files changed

+39
-26
lines changed

Diff for: src/test/java/cloud/localstack/awssdkv2/BasicFeaturesSDKV2Test.java

+30-24
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,7 @@
2323
import software.amazon.awssdk.services.s3.*;
2424
import software.amazon.awssdk.services.s3.model.*;
2525
import software.amazon.awssdk.services.secretsmanager.SecretsManagerAsyncClient;
26-
import software.amazon.awssdk.services.secretsmanager.model.CreateSecretRequest;
27-
import software.amazon.awssdk.services.secretsmanager.model.GetSecretValueRequest;
28-
import software.amazon.awssdk.services.secretsmanager.model.GetSecretValueResponse;
26+
import software.amazon.awssdk.services.secretsmanager.model.*;
2927
import software.amazon.awssdk.services.sns.*;
3028
import software.amazon.awssdk.services.sns.model.*;
3129
import software.amazon.awssdk.services.sqs.*;
@@ -96,6 +94,7 @@ public void testCreateKinesisRecordV2() throws Exception {
9694
@Test
9795
public void testCreateDynamoDBTable() throws Exception {
9896
DynamoDbAsyncClient dynamoDbAsyncClient = TestUtils.getClientDyanamoAsyncV2();
97+
String tableName = "test-s-"+ UUID.randomUUID().toString();
9998
CreateTableRequest createTableRequest = CreateTableRequest.builder()
10099
.keySchema(
101100
KeySchemaElement.builder()
@@ -112,10 +111,12 @@ public void testCreateDynamoDBTable() throws Exception {
112111
.readCapacityUnits(5L)
113112
.writeCapacityUnits(5L)
114113
.build())
115-
.tableName("test")
114+
.tableName(tableName)
116115
.build();
117116
CreateTableResponse response = dynamoDbAsyncClient.createTable(createTableRequest).get();
118117
Assert.assertNotNull(response);
118+
// clean up
119+
dynamoDbAsyncClient.deleteTable(DeleteTableRequest.builder().tableName(tableName).build());
119120
}
120121

121122
@Test
@@ -153,8 +154,10 @@ public void testGetSsmParameter() throws Exception {
153154
// Test integration of ssm parameter with LocalStack using SDK v2
154155

155156
final SsmAsyncClient clientSsm = TestUtils.getClientSSMAsyncV2();
156-
clientSsm.putParameter(PutParameterRequest.builder().name("testparameter").value("testvalue").build());
157-
CompletableFuture<GetParameterResponse> getParameterResponse = clientSsm.getParameter(GetParameterRequest.builder().name("testparameter").build());
157+
final String paramName = "param-"+UUID.randomUUID().toString();
158+
clientSsm.putParameter(PutParameterRequest.builder().name(paramName).value("testvalue").build()).join();
159+
CompletableFuture<GetParameterResponse> getParameterResponse = clientSsm.getParameter(
160+
GetParameterRequest.builder().name(paramName).build());
158161
String parameterValue = getParameterResponse.get().parameter().value();
159162
Assert.assertNotNull(parameterValue);
160163
Assert.assertEquals("testvalue", parameterValue);
@@ -163,7 +166,8 @@ public void testGetSsmParameter() throws Exception {
163166
@Test
164167
public void testGetSecretsManagerSecret() throws Exception {
165168
final SecretsManagerAsyncClient clientSecretsManager = TestUtils.getClientSecretsManagerAsyncV2();
166-
clientSecretsManager.createSecret(CreateSecretRequest.builder().name("testsecret").secretString("secretcontent").build());
169+
clientSecretsManager.createSecret(
170+
CreateSecretRequest.builder().name("testsecret").secretString("secretcontent").build()).join();
167171
CompletableFuture<GetSecretValueResponse> getSecretResponse = clientSecretsManager.getSecretValue(
168172
GetSecretValueRequest.builder().secretId("testsecret").build());
169173
String secretValue = getSecretResponse.get().secretString();
@@ -176,15 +180,20 @@ public void testGetSecretsManagerSecret() throws Exception {
176180
public void testGetSecretAsParam() throws Exception {
177181
final SsmAsyncClient clientSsm = TestUtils.getClientSSMAsyncV2();
178182
final SecretsManagerAsyncClient clientSecretsManager = TestUtils.getClientSecretsManagerAsyncV2();
183+
184+
final String secretName = "test-s-"+UUID.randomUUID().toString();
179185
clientSecretsManager.createSecret(CreateSecretRequest.builder()
180-
.name("testsecret").secretString("secretcontent").build()).join();
186+
.name(secretName).secretString("secretcontent").build()).join();
181187

182188
CompletableFuture<GetParameterResponse> getParameterResponse = clientSsm.getParameter(
183-
GetParameterRequest.builder().name("/aws/reference/secretsmanager/testsecret").build());
184-
String parameterValue = getParameterResponse.get().parameter().value();
189+
GetParameterRequest.builder().name("/aws/reference/secretsmanager/" + secretName).build());
190+
final String parameterValue = getParameterResponse.get().parameter().value();
185191

186192
Assert.assertNotNull(parameterValue);
187193
Assert.assertEquals("secretcontent", parameterValue);
194+
195+
// clean up
196+
clientSecretsManager.deleteSecret(DeleteSecretRequest.builder().secretId(secretName).build());
188197
}
189198
@Test
190199
public void testCWPutMetrics() throws Exception {
@@ -272,14 +281,12 @@ public void testIAMUserCreation() throws Exception {
272281

273282
String username = UUID.randomUUID().toString();
274283
CreateUserRequest createUserRequest = CreateUserRequest.builder().userName(username).build();
275-
iamClient.createUser(createUserRequest);
284+
iamClient.createUser(createUserRequest).join();
276285

277286
boolean userFound = false;
278287
List<User> users = iamClient.listUsers().get().users();
279288

280-
281289
for (int i = 0; i < users.size(); i++) {
282-
System.out.println(users.get(i).userName());
283290
if(users.get(i).userName().equals(username)){
284291
userFound = true;
285292
break;
@@ -295,17 +302,16 @@ public void testIAMListUserPagination() throws Exception {
295302

296303
String username = UUID.randomUUID().toString();
297304
CreateUserRequest createUserRequest = CreateUserRequest.builder().userName(username).build();
298-
iamClient.createUser(createUserRequest);
299-
305+
iamClient.createUser(createUserRequest).join();
300306

301-
AtomicBoolean userFound = new AtomicBoolean(false);
302-
iamClient.listUsersPaginator().users().subscribe(user -> {
303-
if(user.userName().equals(username)){
304-
userFound.set(true);
305-
}
306-
});
307-
308-
TimeUnit.SECONDS.sleep(2);
309-
Assert.assertTrue(userFound.get());
307+
AtomicBoolean userFound = new AtomicBoolean(false);
308+
iamClient.listUsersPaginator().users().subscribe(user -> {
309+
if(user.userName().equals(username)){
310+
userFound.set(true);
311+
}
312+
});
313+
314+
TimeUnit.SECONDS.sleep(2);
315+
Assert.assertTrue(userFound.get());
310316
}
311317
}

Diff for: src/test/java/cloud/localstack/awssdkv2/ProFeaturesSDKV2Test.java

+9-2
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import software.amazon.awssdk.services.qldb.model.*;
1212
import software.amazon.qldb.*;
1313
import software.amazon.awssdk.services.qldbsession.*;
14+
import com.amazon.ion.*;
1415

1516
import org.junit.*;
1617
import org.junit.runner.RunWith;
@@ -49,13 +50,19 @@ public void testQueryQLDBLedger() throws Exception {
4950
// list tables
5051
List<String> tableNames = new ArrayList<String>();
5152
driver.getTableNames().forEach(tableNames::add);
52-
System.out.println("tableNames " + tableNames);
5353
Assert.assertTrue(tableNames.contains(tableName1));
5454
Assert.assertTrue(tableNames.contains(tableName2));
5555

56+
// list tables via que
5657
String query = "SELECT VALUE name FROM information_schema.user_tables WHERE status = 'ACTIVE'";
5758
Result result = driver.execute(txn -> { return txn.execute(query); });
58-
System.out.println("result " + result);
59+
Assert.assertNotNull(result);
60+
61+
// list result entries
62+
List<IonValue> tableNames2 = new ArrayList<IonValue>();
63+
result.forEach(tableNames2::add);
64+
Assert.assertTrue(tableNames2.contains(tableName1));
65+
Assert.assertTrue(tableNames2.contains(tableName2));
5966
}
6067

6168
}

0 commit comments

Comments
 (0)