|
6 | 6 | import org.javawebstack.httpserver.helper.MimeType; |
7 | 7 | import org.junit.jupiter.api.Assertions; |
8 | 8 |
|
| 9 | +import java.util.ArrayList; |
| 10 | +import java.util.List; |
| 11 | + |
9 | 12 | public class TestExchange extends Exchange { |
10 | 13 | private MockHttpServletRequest mockReq; |
11 | 14 | private MockHttpServletResponse mockRes; |
@@ -74,8 +77,40 @@ public TestExchange assertCreated(String message) { |
74 | 77 | Assertions.assertEquals(201, mockRes.getStatus(), message); |
75 | 78 | return this; |
76 | 79 | } |
77 | | - |
78 | | - public TestExchange assertNotFound() { |
| 80 | + |
| 81 | + public TestExchange assertNoContent() { |
| 82 | + Assertions.assertEquals(204, mockRes.getStatus()); |
| 83 | + return this; |
| 84 | + } |
| 85 | + |
| 86 | + public TestExchange assertNoContent(String message) { |
| 87 | + Assertions.assertEquals(204, mockRes.getStatus(), message); |
| 88 | + return this; |
| 89 | + } |
| 90 | + |
| 91 | + public TestExchange assertRedirect() { |
| 92 | + Assertions.assertTrue(isRedirect()); |
| 93 | + return this; |
| 94 | + } |
| 95 | + |
| 96 | + public TestExchange assertRedirect(String message) { |
| 97 | + Assertions.assertTrue(isRedirect(), message); |
| 98 | + return this; |
| 99 | + } |
| 100 | + |
| 101 | + public TestExchange assertRedirectTo(String url) { |
| 102 | + assertRedirect(); |
| 103 | + Assertions.assertEquals(url, mockRes.getHeader("Location")); |
| 104 | + return this; |
| 105 | + } |
| 106 | + |
| 107 | + public TestExchange assertRedirectTo(String url, String message) { |
| 108 | + assertRedirect(message); |
| 109 | + Assertions.assertEquals(url, mockRes.getHeader("Location"), message); |
| 110 | + return this; |
| 111 | + } |
| 112 | + |
| 113 | + public TestExchange assertNotFound(){ |
79 | 114 | Assertions.assertEquals(404, mockRes.getStatus()); |
80 | 115 | return this; |
81 | 116 | } |
@@ -236,4 +271,14 @@ private boolean checkGraph(AbstractElement element, Object value) { |
236 | 271 | } |
237 | 272 | return false; |
238 | 273 | } |
| 274 | + private boolean isRedirect() { |
| 275 | + List<Integer> redirectCodes = new ArrayList<>(); |
| 276 | + redirectCodes.add(301); |
| 277 | + redirectCodes.add(302); |
| 278 | + redirectCodes.add(303); |
| 279 | + redirectCodes.add(307); |
| 280 | + redirectCodes.add(308); |
| 281 | + |
| 282 | + return redirectCodes.contains(mockRes.getStatus()); |
| 283 | + } |
239 | 284 | } |
0 commit comments