1515
1616package software .amazon .awssdk .enhanced .dynamodb .internal .operations ;
1717
18+ import static org .hamcrest .MatcherAssert .assertThat ;
19+ import static org .hamcrest .Matchers .is ;
20+ import static org .mockito .ArgumentMatchers .same ;
21+ import static org .mockito .Mockito .verify ;
22+ import static org .mockito .Mockito .when ;
23+
24+ import java .util .concurrent .CompletableFuture ;
1825import org .junit .Test ;
1926import org .junit .runner .RunWith ;
2027import org .mockito .Mock ;
2431import software .amazon .awssdk .enhanced .dynamodb .functionaltests .models .FakeItem ;
2532import software .amazon .awssdk .enhanced .dynamodb .functionaltests .models .FakeItemWithIndices ;
2633import software .amazon .awssdk .enhanced .dynamodb .functionaltests .models .FakeItemWithSort ;
27- import software .amazon .awssdk .enhanced .dynamodb .model . CreateTableEnhancedRequest ;
34+ import software .amazon .awssdk .services .dynamodb .DynamoDbAsyncClient ;
2835import software .amazon .awssdk .services .dynamodb .DynamoDbClient ;
2936import software .amazon .awssdk .services .dynamodb .model .DeleteTableRequest ;
30-
31- import static org .hamcrest .MatcherAssert .assertThat ;
32- import static org .hamcrest .Matchers .is ;
33- import static org .mockito .ArgumentMatchers .same ;
34- import static org .mockito .Mockito .verify ;
37+ import software .amazon .awssdk .services .dynamodb .model .DeleteTableResponse ;
3538
3639@ RunWith (MockitoJUnitRunner .class )
3740public class DeleteTableOperationTest {
@@ -46,6 +49,14 @@ public class DeleteTableOperationTest {
4649 @ Mock
4750 private DynamoDbClient mockDynamoDbClient ;
4851
52+ @ Mock
53+ private DynamoDbAsyncClient mockDynamoDbAsyncClient ;
54+
55+ @ Test
56+ public void operationName_returnsDeleteTable () {
57+ DeleteTableOperation <FakeItem > operation = DeleteTableOperation .create ();
58+ assertThat (operation .operationName (), is (OperationName .DELETE_TABLE ));
59+ }
4960
5061 @ Test
5162 public void getServiceCall_makesTheRightCall () {
@@ -55,11 +66,26 @@ public void getServiceCall_makesTheRightCall() {
5566 verify (mockDynamoDbClient ).deleteTable (same (deleteTableRequest ));
5667 }
5768
69+ @ Test
70+ public void getAsyncServiceCall_makesTheRightCallAndReturnsResponse () {
71+ DeleteTableOperation <FakeItem > operation = DeleteTableOperation .create ();
72+ DeleteTableRequest deleteTableRequest = DeleteTableRequest .builder ().build ();
73+ CompletableFuture <DeleteTableResponse > expectedResponse =
74+ CompletableFuture .completedFuture (DeleteTableResponse .builder ().build ());
75+
76+ when (mockDynamoDbAsyncClient .deleteTable (same (deleteTableRequest ))).thenReturn (expectedResponse );
77+
78+ CompletableFuture <DeleteTableResponse > response = operation .asyncServiceCall (mockDynamoDbAsyncClient )
79+ .apply (deleteTableRequest );
80+
81+ assertThat (response , is (expectedResponse ));
82+ verify (mockDynamoDbAsyncClient ).deleteTable (same (deleteTableRequest ));
83+ }
5884
5985 @ Test
6086 public void generateRequest_from_deleteTableOperation () {
6187 DeleteTableOperation <FakeItemWithSort > deleteTableOperation = DeleteTableOperation .create ();
62- final DeleteTableRequest deleteTableRequest = deleteTableOperation
88+ DeleteTableRequest deleteTableRequest = deleteTableOperation
6389 .generateRequest (FakeItemWithSort .getTableSchema (),
6490 PRIMARY_CONTEXT ,
6591 null );
@@ -72,4 +98,16 @@ public void generateRequest_doesNotWorkForIndex() {
7298 operation .generateRequest (FakeItemWithIndices .getTableSchema (), GSI_1_CONTEXT , null );
7399 }
74100
101+ @ Test
102+ public void transformResponse_returnsNull () {
103+ DeleteTableOperation <FakeItem > operation = DeleteTableOperation .create ();
104+
105+ Void response = operation .transformResponse (DeleteTableResponse .builder ().build (),
106+ FakeItem .getTableSchema (),
107+ PRIMARY_CONTEXT ,
108+ null );
109+
110+ assertThat (response , is ((Void ) null ));
111+ }
112+
75113}
0 commit comments