Skip to content

Commit f00c51d

Browse files
authored
Merge pull request #1 from JWaldecker/testAddAssertionFunctions
added a few assertion methods to TestExchange
2 parents 8f0d287 + 4d65d62 commit f00c51d

File tree

1 file changed

+47
-2
lines changed

1 file changed

+47
-2
lines changed

src/main/java/org/javawebstack/httpserver/test/TestExchange.java

Lines changed: 47 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66
import org.javawebstack.httpserver.helper.MimeType;
77
import org.junit.jupiter.api.Assertions;
88

9+
import java.util.ArrayList;
10+
import java.util.List;
11+
912
public class TestExchange extends Exchange {
1013
private MockHttpServletRequest mockReq;
1114
private MockHttpServletResponse mockRes;
@@ -74,8 +77,40 @@ public TestExchange assertCreated(String message) {
7477
Assertions.assertEquals(201, mockRes.getStatus(), message);
7578
return this;
7679
}
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(){
79114
Assertions.assertEquals(404, mockRes.getStatus());
80115
return this;
81116
}
@@ -236,4 +271,14 @@ private boolean checkGraph(AbstractElement element, Object value) {
236271
}
237272
return false;
238273
}
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+
}
239284
}

0 commit comments

Comments
 (0)