|
2 | 2 |
|
3 | 3 | import static org.junit.jupiter.api.Assertions.assertEquals;
|
4 | 4 | import static org.junit.jupiter.api.Assertions.assertNotNull;
|
| 5 | +import static org.junit.jupiter.api.Assertions.assertThrows; |
| 6 | +import static org.junit.jupiter.api.Assertions.assertTrue; |
5 | 7 |
|
| 8 | +import com.google.common.collect.ImmutableList; |
| 9 | +import com.google.common.collect.ImmutableMap; |
6 | 10 | import com.stripe.BaseStripeTest;
|
7 |
| -import java.util.ArrayList; |
8 |
| -import java.util.HashMap; |
| 11 | +import java.time.Instant; |
| 12 | +import java.util.Collections; |
9 | 13 | import java.util.List;
|
10 | 14 | import java.util.Map;
|
11 | 15 | import org.junit.jupiter.api.Test;
|
12 | 16 |
|
13 | 17 | public class StripeResponseTest extends BaseStripeTest {
|
14 |
| - String chargeBody; |
| 18 | + private HttpHeaders emptyHeaders = HttpHeaders.of(Collections.emptyMap()); |
15 | 19 |
|
16 |
| - private Map<String, List<String>> generateHeaderMap() { |
17 |
| - final List<String> idempotencyHeader = new ArrayList<>(); |
18 |
| - idempotencyHeader.add("12345"); |
19 |
| - |
20 |
| - final List<String> requestIdHeader = new ArrayList<>(); |
21 |
| - requestIdHeader.add("req_12345"); |
22 |
| - |
23 |
| - final Map<String, List<String>> headerMap = new HashMap<>(); |
24 |
| - headerMap.put("Idempotency-Key", idempotencyHeader); |
25 |
| - headerMap.put("Request-Id", requestIdHeader); |
| 20 | + @Test |
| 21 | + public void testCtorNullHeaders() { |
| 22 | + assertThrows( |
| 23 | + NullPointerException.class, |
| 24 | + () -> { |
| 25 | + new StripeResponse(200, null, ""); |
| 26 | + }); |
| 27 | + } |
26 | 28 |
|
27 |
| - return headerMap; |
| 29 | + @Test |
| 30 | + public void testCtorNullBody() { |
| 31 | + assertThrows( |
| 32 | + NullPointerException.class, |
| 33 | + () -> { |
| 34 | + new StripeResponse(200, emptyHeaders, null); |
| 35 | + }); |
28 | 36 | }
|
29 | 37 |
|
30 | 38 | @Test
|
31 | 39 | public void testCode() {
|
32 |
| - StripeResponse stripeResponse = new StripeResponse(200, chargeBody); |
| 40 | + StripeResponse stripeResponse = new StripeResponse(200, emptyHeaders, ""); |
33 | 41 | assertEquals(200, stripeResponse.code());
|
34 |
| - stripeResponse = new StripeResponse(201, chargeBody); |
| 42 | + stripeResponse = new StripeResponse(201, emptyHeaders, ""); |
35 | 43 | assertEquals(201, stripeResponse.code());
|
36 | 44 | }
|
37 | 45 |
|
38 | 46 | @Test
|
39 | 47 | public void testBody() {
|
40 |
| - final StripeResponse stripeResponse = new StripeResponse(200, chargeBody); |
| 48 | + final StripeResponse stripeResponse = new StripeResponse(200, emptyHeaders, "Response body"); |
41 | 49 | assertEquals(200, stripeResponse.code());
|
42 |
| - assertEquals(chargeBody, stripeResponse.body()); |
| 50 | + assertEquals("Response body", stripeResponse.body()); |
43 | 51 | }
|
44 | 52 |
|
45 | 53 | @Test
|
46 | 54 | public void testHeaders() {
|
47 |
| - final Map<String, List<String>> headerMap = generateHeaderMap(); |
48 |
| - final StripeResponse stripeResponse = new StripeResponse(200, chargeBody, headerMap); |
| 55 | + Map<String, List<String>> headerMap = |
| 56 | + ImmutableMap.of("Some-Header", ImmutableList.of("First value", "Second value")); |
| 57 | + final StripeResponse stripeResponse = new StripeResponse(200, HttpHeaders.of(headerMap), ""); |
49 | 58 | assertNotNull(stripeResponse.headers());
|
| 59 | + assertTrue(stripeResponse.headers().firstValue("Some-Header").isPresent()); |
| 60 | + assertEquals("First value", stripeResponse.headers().firstValue("Some-Header").get()); |
50 | 61 | }
|
51 | 62 |
|
52 | 63 | @Test
|
53 |
| - public void testNoHeaders() { |
54 |
| - final StripeResponse stripeResponse = new StripeResponse(200, chargeBody); |
55 |
| - assertEquals(stripeResponse.headers(), null); |
56 |
| - assertEquals(stripeResponse.idempotencyKey(), null); |
57 |
| - assertEquals(stripeResponse.requestId(), null); |
| 64 | + public void testDate() { |
| 65 | + Map<String, List<String>> headerMap = |
| 66 | + ImmutableMap.of("Date", ImmutableList.of("Fri, 13 Feb 2009 23:31:30 GMT")); |
| 67 | + final StripeResponse stripeResponse = new StripeResponse(200, HttpHeaders.of(headerMap), ""); |
| 68 | + assertEquals(Instant.ofEpochSecond(1234567890), stripeResponse.date()); |
58 | 69 | }
|
59 | 70 |
|
60 | 71 | @Test
|
61 |
| - public void testGetIdempotencyKey() { |
62 |
| - final Map<String, List<String>> headerMap = generateHeaderMap(); |
63 |
| - final StripeResponse stripeResponse = new StripeResponse(200, chargeBody, headerMap); |
| 72 | + public void testIdempotencyKey() { |
| 73 | + Map<String, List<String>> headerMap = |
| 74 | + ImmutableMap.of("Idempotency-Key", ImmutableList.of("12345")); |
| 75 | + final StripeResponse stripeResponse = new StripeResponse(200, HttpHeaders.of(headerMap), ""); |
64 | 76 | assertEquals("12345", stripeResponse.idempotencyKey());
|
65 | 77 | }
|
66 | 78 |
|
67 | 79 | @Test
|
68 | 80 | public void testRequestId() {
|
69 |
| - final Map<String, List<String>> headerMap = generateHeaderMap(); |
70 |
| - final StripeResponse stripeResponse = new StripeResponse(200, chargeBody, headerMap); |
| 81 | + Map<String, List<String>> headerMap = |
| 82 | + ImmutableMap.of("Request-Id", ImmutableList.of("req_12345")); |
| 83 | + final StripeResponse stripeResponse = new StripeResponse(200, HttpHeaders.of(headerMap), ""); |
71 | 84 | assertEquals("req_12345", stripeResponse.requestId());
|
72 | 85 | }
|
73 | 86 | }
|
0 commit comments