Skip to content

Commit 7673952

Browse files
Adding tests for TTL table operations responses.
1 parent cbd4721 commit 7673952

2 files changed

Lines changed: 151 additions & 0 deletions

File tree

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
/*
2+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License").
5+
* You may not use this file except in compliance with the License.
6+
* A copy of the License is located at
7+
*
8+
* http://aws.amazon.com/apache2.0
9+
*
10+
* or in the "license" file accompanying this file. This file is distributed
11+
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12+
* express or implied. See the License for the specific language governing
13+
* permissions and limitations under the License.
14+
*/
15+
16+
package software.amazon.awssdk.enhanced.dynamodb.model;
17+
18+
import static org.assertj.core.api.Assertions.assertThat;
19+
import static org.assertj.core.api.Assertions.assertThatThrownBy;
20+
21+
import nl.jqno.equalsverifier.EqualsVerifier;
22+
import org.junit.jupiter.api.Test;
23+
import software.amazon.awssdk.services.dynamodb.model.DescribeTimeToLiveResponse;
24+
import software.amazon.awssdk.services.dynamodb.model.TimeToLiveDescription;
25+
import software.amazon.awssdk.services.dynamodb.model.TimeToLiveStatus;
26+
27+
public class DescribeTimeToLiveEnhancedResponseTest {
28+
@Test
29+
public void builder_populatesTimeToLiveDescription() {
30+
TimeToLiveDescription timeToLiveDescription = TimeToLiveDescription.builder()
31+
.attributeName("expirationDate")
32+
.timeToLiveStatus(TimeToLiveStatus.ENABLED)
33+
.build();
34+
DescribeTimeToLiveResponse response = DescribeTimeToLiveResponse.builder()
35+
.timeToLiveDescription(timeToLiveDescription)
36+
.build();
37+
38+
DescribeTimeToLiveEnhancedResponse builtObject = DescribeTimeToLiveEnhancedResponse.builder()
39+
.response(response)
40+
.build();
41+
42+
assertThat(builtObject.timeToLiveDescription()).isEqualTo(timeToLiveDescription);
43+
}
44+
45+
@Test
46+
public void responseNull_shouldThrowException() {
47+
assertThatThrownBy(() -> DescribeTimeToLiveEnhancedResponse.builder().build())
48+
.isInstanceOf(NullPointerException.class)
49+
.hasMessageContaining("response must not be null");
50+
}
51+
52+
@Test
53+
public void equalsHashcode() {
54+
EqualsVerifier.forClass(DescribeTimeToLiveEnhancedResponse.class)
55+
.withNonnullFields("response")
56+
.verify();
57+
}
58+
59+
@Test
60+
public void toString_containsTimeToLiveDescription() {
61+
DescribeTimeToLiveEnhancedResponse builtObject = DescribeTimeToLiveEnhancedResponse.builder()
62+
.response(DescribeTimeToLiveResponse.builder()
63+
.timeToLiveDescription(TimeToLiveDescription.builder()
64+
.attributeName("expirationDate")
65+
.timeToLiveStatus(TimeToLiveStatus.DISABLED)
66+
.build())
67+
.build())
68+
.build();
69+
70+
assertThat(builtObject.toString()).contains("DescribeTimeToLiveEnhancedResponse")
71+
.contains("timeToLiveDescription")
72+
.contains("expirationDate")
73+
.contains("DISABLED");
74+
}
75+
}
76+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
/*
2+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License").
5+
* You may not use this file except in compliance with the License.
6+
* A copy of the License is located at
7+
*
8+
* http://aws.amazon.com/apache2.0
9+
*
10+
* or in the "license" file accompanying this file. This file is distributed
11+
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12+
* express or implied. See the License for the specific language governing
13+
* permissions and limitations under the License.
14+
*/
15+
16+
package software.amazon.awssdk.enhanced.dynamodb.model;
17+
18+
import static org.assertj.core.api.Assertions.assertThat;
19+
import static org.assertj.core.api.Assertions.assertThatThrownBy;
20+
21+
import nl.jqno.equalsverifier.EqualsVerifier;
22+
import org.junit.jupiter.api.Test;
23+
import software.amazon.awssdk.services.dynamodb.model.TimeToLiveSpecification;
24+
import software.amazon.awssdk.services.dynamodb.model.UpdateTimeToLiveResponse;
25+
26+
public class UpdateTimeToLiveEnhancedResponseTest {
27+
@Test
28+
public void builder_populatesTable() {
29+
TimeToLiveSpecification timeToLiveSpecification = TimeToLiveSpecification.builder()
30+
.attributeName("expirationDate")
31+
.enabled(true)
32+
.build();
33+
UpdateTimeToLiveResponse response = UpdateTimeToLiveResponse.builder()
34+
.timeToLiveSpecification(timeToLiveSpecification)
35+
.build();
36+
37+
UpdateTimeToLiveEnhancedResponse builtObject = UpdateTimeToLiveEnhancedResponse.builder()
38+
.response(response)
39+
.build();
40+
41+
assertThat(builtObject.table()).isEqualTo(timeToLiveSpecification);
42+
}
43+
44+
@Test
45+
public void responseNull_shouldThrowException() {
46+
assertThatThrownBy(() -> UpdateTimeToLiveEnhancedResponse.builder().build())
47+
.isInstanceOf(NullPointerException.class)
48+
.hasMessageContaining("response must not be null");
49+
}
50+
51+
@Test
52+
public void equalsHashcode() {
53+
EqualsVerifier.forClass(UpdateTimeToLiveEnhancedResponse.class)
54+
.withNonnullFields("response")
55+
.verify();
56+
}
57+
58+
@Test
59+
public void toString_containsTimeToLiveSpecification() {
60+
UpdateTimeToLiveEnhancedResponse builtObject = UpdateTimeToLiveEnhancedResponse.builder()
61+
.response(UpdateTimeToLiveResponse.builder()
62+
.timeToLiveSpecification(TimeToLiveSpecification.builder()
63+
.attributeName("expirationDate")
64+
.enabled(false)
65+
.build())
66+
.build())
67+
.build();
68+
69+
assertThat(builtObject.toString()).contains("UpdateTimeToLiveEnhancedResponse")
70+
.contains("timeToLiveSpecification")
71+
.contains("expirationDate")
72+
.contains("false");
73+
}
74+
}
75+

0 commit comments

Comments
 (0)