1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.juneau.rest.annotation;
18
19 import org.apache.juneau.http.header.*;
20 import org.apache.juneau.rest.*;
21 import org.apache.juneau.rest.mock.*;
22 import org.junit.jupiter.api.*;
23
24 import jakarta.servlet.http.*;
25
26 class RestPostCall_Test {
27
28
29
30
31
32 @Rest
33 public static class A extends A_Parent {
34 private boolean post3Called;
35 @RestPostCall
36 public void post3() {
37 post3Called = true;
38 }
39 @RestPostCall
40 public void post4(HttpServletRequest req, HttpServletResponse res) {
41 res.setHeader("post3-called", ""+post3Called);
42 post3Called = false;
43 if (res.getHeader("post4-called") != null)
44 throw new IllegalArgumentException("post4 called multiple times.");
45 res.setHeader("post4-called", "true");
46 }
47 @RestGet(path="/")
48 public String a() {
49 return "OK";
50 }
51 }
52
53 public static class A_Parent {
54 private boolean post1Called;
55 @RestPostCall
56 public void post1() {
57 post1Called = true;
58 }
59 @RestPostCall
60 public void post2(Accept accept, RestRequest req, RestResponse res) {
61 res.setHeader("post1-called", ""+post1Called);
62 post1Called = false;
63 if (res.getHeader("post2-called") != null)
64 throw new IllegalArgumentException("post2 called multiple times.");
65 res.setHeader("post2-called", "true");
66 }
67 }
68
69 @Test void a01_postCall() throws Exception {
70 var a = MockRestClient.build(A.class);
71 a.get("/").run()
72 .assertHeader("post1-called").is("true")
73 .assertHeader("post2-called").is("true")
74 .assertHeader("post3-called").is("true")
75 .assertHeader("post4-called").is("true");
76 }
77 }