|
20 | 20 | import static org.hamcrest.Matchers.is;
|
21 | 21 | import static org.hamcrest.Matchers.notNullValue;
|
22 | 22 | import static org.hamcrest.Matchers.nullValue;
|
| 23 | +import static org.junit.Assert.assertEquals; |
23 | 24 | import static software.amazon.awssdk.enhanced.dynamodb.functionaltests.models.FakeItem.createUniqueFakeItem;
|
24 | 25 | import static software.amazon.awssdk.enhanced.dynamodb.internal.AttributeValues.stringValue;
|
25 | 26 |
|
| 27 | +import com.sun.org.apache.xpath.internal.ExtensionsProvider; |
26 | 28 | import java.util.Arrays;
|
27 | 29 | import java.util.List;
|
28 | 30 | import java.util.Map;
|
| 31 | +import java.util.UUID; |
29 | 32 | import org.junit.Before;
|
30 | 33 | import org.junit.Test;
|
31 | 34 | import org.junit.runner.RunWith;
|
32 | 35 | import org.mockito.Mock;
|
33 | 36 | import org.mockito.junit.MockitoJUnitRunner;
|
34 | 37 | import software.amazon.awssdk.enhanced.dynamodb.DynamoDbEnhancedClient;
|
| 38 | +import software.amazon.awssdk.enhanced.dynamodb.DynamoDbEnhancedClientExtension; |
35 | 39 | import software.amazon.awssdk.enhanced.dynamodb.DynamoDbTable;
|
36 | 40 | import software.amazon.awssdk.enhanced.dynamodb.Expression;
|
37 | 41 | import software.amazon.awssdk.enhanced.dynamodb.Key;
|
38 | 42 | import software.amazon.awssdk.enhanced.dynamodb.functionaltests.models.FakeItem;
|
| 43 | +import software.amazon.awssdk.enhanced.dynamodb.internal.client.ExtensionResolver; |
| 44 | +import software.amazon.awssdk.enhanced.dynamodb.internal.operations.TransactWriteItemsOperation; |
39 | 45 | import software.amazon.awssdk.services.dynamodb.DynamoDbClient;
|
40 | 46 | import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
|
41 | 47 | import software.amazon.awssdk.services.dynamodb.model.Delete;
|
42 | 48 | import software.amazon.awssdk.services.dynamodb.model.Put;
|
43 | 49 | import software.amazon.awssdk.services.dynamodb.model.TransactWriteItem;
|
| 50 | +import software.amazon.awssdk.services.dynamodb.model.TransactWriteItemsRequest; |
44 | 51 |
|
45 | 52 | @RunWith(MockitoJUnitRunner.class)
|
46 | 53 | public class TransactWriteItemsEnhancedRequestTest {
|
@@ -167,6 +174,17 @@ public void builder_maximal_builder_style() {
|
167 | 174 | assertThat(builtObject.transactWriteItems().get(3).conditionCheck().key().get("id").s(), is(fakeItem.getId()));
|
168 | 175 | }
|
169 | 176 |
|
| 177 | + @Test |
| 178 | + public void setClientRequestTokenTest() { |
| 179 | + String token = UUID.randomUUID().toString(); |
| 180 | + TransactWriteItemsEnhancedRequest enhancedRequest = TransactWriteItemsEnhancedRequest.builder() |
| 181 | + .clientRequestToken(token) |
| 182 | + .build(); |
| 183 | + DynamoDbEnhancedClientExtension extension = ExtensionResolver.resolveExtensions(ExtensionResolver.defaultExtensions()); |
| 184 | + TransactWriteItemsRequest request = TransactWriteItemsOperation.create(enhancedRequest).generateRequest(extension); |
| 185 | + assertEquals(token, request.clientRequestToken()); |
| 186 | + } |
| 187 | + |
170 | 188 | private List<TransactWriteItem> getTransactWriteItems(FakeItem fakeItem) {
|
171 | 189 | final Map<String, AttributeValue> fakeItemMap = FakeItem.getTableSchema().itemToMap(fakeItem, true);
|
172 | 190 |
|
|
0 commit comments