Skip to content

Commit 44e5fae

Browse files
ajewellamzseebees
authored andcommitted
fix: repair examples
The examples relied on order that has been fixed
1 parent 4998e1d commit 44e5fae

File tree

2 files changed

+31
-19
lines changed

2 files changed

+31
-19
lines changed

Examples/runtimes/java/DynamoDbEncryption/src/main/java/software/amazon/cryptography/examples/searchableencryption/BeaconStylesSearchableEncryptionExample.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -195,8 +195,8 @@ public static void PutItemQueryItemWithBeaconStyles(String ddbTableName, String
195195
item1.put("dessert", AttributeValue.builder().s("cake").build());
196196
item1.put("fruit", AttributeValue.builder().s("banana").build());
197197
ArrayList<String> basket = new ArrayList<String>();
198-
basket.add("banana");
199198
basket.add("apple");
199+
basket.add("banana");
200200
basket.add("pear");
201201
item1.put("basket", AttributeValue.builder().ss(basket).build());
202202

@@ -207,9 +207,9 @@ public static void PutItemQueryItemWithBeaconStyles(String ddbTableName, String
207207
item2.put("fruit", AttributeValue.builder().s("orange").build());
208208
item2.put("dessert", AttributeValue.builder().s("orange").build());
209209
basket = new ArrayList<String>();
210-
basket.add("strawberry");
211-
basket.add("blueberry");
212210
basket.add("blackberry");
211+
basket.add("blueberry");
212+
basket.add("strawberry");
213213
item2.put("basket", AttributeValue.builder().ss(basket).build());
214214

215215
// 10. Create the DynamoDb Encryption Interceptor
@@ -283,8 +283,8 @@ public static void PutItemQueryItemWithBeaconStyles(String ddbTableName, String
283283
// Select records where the fruit attribute exists in a particular set
284284
ArrayList<String> basket3 = new ArrayList<String>();
285285
basket3.add("boysenberry");
286-
basket3.add("orange");
287286
basket3.add("grape");
287+
basket3.add("orange");
288288
expressionAttributeValues.put(":value", AttributeValue.builder().ss(basket3).build());
289289

290290
scanRequest = ScanRequest.builder()

Examples/runtimes/java/DynamoDbEncryption/src/main/java/software/amazon/cryptography/examples/searchableencryption/complexexample/QueryRequests.java

Lines changed: 27 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -582,22 +582,34 @@ public static void runQuery14(String ddbTableName, DynamoDbClient ddb) {
582582
.expressionAttributeValues(query14AttributeValues)
583583
.build();
584584

585-
QueryResponse query14Response = ddb.query(query14Request);
586-
// Validate query was returned successfully
587-
assert 200 == query14Response.sdkHttpResponse().statusCode();
588-
589-
// Assert 1 item was returned: `employee1`
590-
assert query14Response.items().size() == 1;
591-
// Known value test: Assert some properties on one of the items
592-
boolean foundKnownValueItemQuery14 = false;
593-
for (Map<String, AttributeValue> item : query14Response.items()) {
594-
if (item.get("partition_key").s().equals("employee1")) {
595-
foundKnownValueItemQuery14 = true;
596-
assert item.get("EmployeeID").s().equals("emp_001");
597-
assert item.get("Location").m().get("Desk").s().equals("3");
598-
}
585+
// GSIs do not update instantly
586+
// so if the results come back empty
587+
// we retry after a short sleep
588+
for (int i=0; i<10; ++i) {
589+
QueryResponse query14Response = ddb.query(query14Request);
590+
// Validate query was returned successfully
591+
assert 200 == query14Response.sdkHttpResponse().statusCode();
592+
593+
// if no results, sleep and try again
594+
if (query14Response.items().size() == 0) {
595+
try {Thread.sleep(20);} catch (Exception e) {}
596+
continue;
597+
}
598+
599+
// Assert 1 item was returned: `employee1`
600+
assert query14Response.items().size() == 1;
601+
// Known value test: Assert some properties on one of the items
602+
boolean foundKnownValueItemQuery14 = false;
603+
for (Map<String, AttributeValue> item : query14Response.items()) {
604+
if (item.get("partition_key").s().equals("employee1")) {
605+
foundKnownValueItemQuery14 = true;
606+
assert item.get("EmployeeID").s().equals("emp_001");
607+
assert item.get("Location").m().get("Desk").s().equals("3");
608+
}
609+
}
610+
assert foundKnownValueItemQuery14;
611+
break;
599612
}
600-
assert foundKnownValueItemQuery14;
601613
}
602614

603615
public static void runQuery15(String ddbTableName, DynamoDbClient ddb) {

0 commit comments

Comments
 (0)