26
26
import io .vertx .core .Vertx ;
27
27
import org .junit .After ;
28
28
import org .junit .Before ;
29
+ import org .junit .Rule ;
29
30
import org .junit .Test ;
30
31
import org .wisdom .api .Controller ;
31
32
import org .wisdom .api .DefaultController ;
@@ -45,6 +46,8 @@ public class ContextFromVertxTest {
45
46
private ServiceAccessor accessor ;
46
47
private ApplicationConfiguration configuration ;
47
48
49
+ @ Rule
50
+ public RunOnVertxContext runOnVertxContext = new RunOnVertxContext ();
48
51
49
52
@ Before
50
53
public void setUp () {
@@ -65,49 +68,52 @@ public void tearDown() {
65
68
@ Test
66
69
public void testId () throws Exception {
67
70
HttpRequest req = new DefaultFullHttpRequest (HttpVersion .HTTP_1_1 , HttpMethod .GET , "/" );
68
- ContextFromVertx context = new ContextFromVertx (vertx , accessor ,
71
+ ContextFromVertx context = new ContextFromVertx (vertx , vertx . getOrCreateContext (), accessor ,
69
72
RequestFromVertXTest .create (req ));
70
73
assertThat (context .id ()).isNotNegative ();
71
74
long id1 = context .id ();
72
- context = new ContextFromVertx (vertx , accessor ,
75
+ context = new ContextFromVertx (vertx , vertx . getOrCreateContext (), accessor ,
73
76
RequestFromVertXTest .create (req ));
74
77
assertThat (id1 ).isLessThan (context .id ());
75
78
}
76
79
77
80
@ Test
78
81
public void testRequest () throws Exception {
79
82
HttpRequest req = new DefaultFullHttpRequest (HttpVersion .HTTP_1_1 , HttpMethod .GET , "/" );
80
- ContextFromVertx context = new ContextFromVertx (vertx , accessor ,
83
+ ContextFromVertx context = new ContextFromVertx (vertx , vertx . getOrCreateContext (), accessor ,
81
84
RequestFromVertXTest .create (req ));
82
85
assertThat (context .request ()).isNotNull ();
83
86
}
84
87
85
88
@ Test
86
89
public void testPath () throws Exception {
87
90
HttpRequest req = new DefaultFullHttpRequest (HttpVersion .HTTP_1_1 , HttpMethod .GET , "/" );
88
- ContextFromVertx context = new ContextFromVertx (vertx , accessor ,
91
+ ContextFromVertx context = new ContextFromVertx (vertx , vertx . getOrCreateContext (), accessor ,
89
92
RequestFromVertXTest .create (req ));
90
93
assertThat (context .path ()).isEqualTo ("/" );
91
94
92
95
req = new DefaultFullHttpRequest (HttpVersion .HTTP_1_1 , HttpMethod .GET , "/foo" );
93
96
94
- context = new ContextFromVertx (vertx , accessor ,
97
+ context = new ContextFromVertx (vertx , vertx . getOrCreateContext (), accessor ,
95
98
RequestFromVertXTest .create (req ));
96
99
assertThat (context .path ()).isEqualTo ("/foo" );
97
100
98
101
req = new DefaultFullHttpRequest (HttpVersion .HTTP_1_1 , HttpMethod .GET , "/foo?k=v" );
99
- context = new ContextFromVertx (vertx , accessor ,
102
+ context = new ContextFromVertx (vertx , vertx . getOrCreateContext (), accessor ,
100
103
RequestFromVertXTest .create (req ));
101
104
assertThat (context .path ()).isEqualTo ("/foo" );
102
105
}
103
106
104
107
@ Test
105
108
public void testCookie () throws Exception {
109
+
110
+ System .out .println (Thread .currentThread ().getName () + " " + vertx .getOrCreateContext () + " " + Vertx .currentContext ());
111
+
106
112
String c = "mediaWiki.user.id=0kn3VaEP7XG7mbxRPNgBOe5DNfOAGaHL; centralnotice_bucket=0-4.2; " +
107
113
"uls-previous-languages=%5B%22en%22%5D; mediaWiki.user.sessionId=Mu2OplNdlL98mRoHEwKGlxYsOXbyP1f0; GeoIP=::::v6" ;
108
114
HttpRequest req = new DefaultFullHttpRequest (HttpVersion .HTTP_1_1 , HttpMethod .GET , "/" );
109
115
req .headers ().set (HeaderNames .COOKIE , c );
110
- ContextFromVertx context = new ContextFromVertx (vertx , accessor , RequestFromVertXTest .create (req ));
116
+ ContextFromVertx context = new ContextFromVertx (vertx , vertx . getOrCreateContext (), accessor , RequestFromVertXTest .create (req ));
111
117
assertThat (context .cookies ().get ("mediaWiki.user.id" ).value ()).isEqualTo ("0kn3VaEP7XG7mbxRPNgBOe5DNfOAGaHL" );
112
118
assertThat (context .cookies ().get ("GeoIP" ).value ()).isEqualTo ("::::v6" );
113
119
@@ -117,7 +123,7 @@ public void testCookie() throws Exception {
117
123
assertThat (context .cookieValue ("GeoIP" )).isEqualTo ("::::v6" );
118
124
119
125
req = new DefaultFullHttpRequest (HttpVersion .HTTP_1_1 , HttpMethod .GET , "/" );
120
- context = new ContextFromVertx (vertx , accessor , RequestFromVertXTest .create (req ));
126
+ context = new ContextFromVertx (vertx , vertx . getOrCreateContext (), accessor , RequestFromVertXTest .create (req ));
121
127
122
128
assertThat (context .cookies ().get ("GeoIP" )).isNull ();
123
129
assertThat (context .cookie ("GeoIP" )).isNull ();
@@ -127,7 +133,7 @@ public void testCookie() throws Exception {
127
133
@ Test
128
134
public void testParameterFromQuery () throws Exception {
129
135
HttpRequest req = new DefaultFullHttpRequest (HttpVersion .HTTP_1_1 , HttpMethod .GET , "/foo?k=v&i=5&b=true" );
130
- ContextFromVertx context = new ContextFromVertx (vertx , accessor , RequestFromVertXTest .create (req ));
136
+ ContextFromVertx context = new ContextFromVertx (vertx , vertx . getOrCreateContext (), accessor , RequestFromVertXTest .create (req ));
131
137
132
138
assertThat (context .parameter ("k" )).isEqualTo ("v" );
133
139
assertThat (context .parameter ("k" , "v2" )).isEqualTo ("v" );
@@ -145,7 +151,7 @@ public void testParameterFromQuery() throws Exception {
145
151
assertThat (context .parameterAsBoolean ("b2" , true )).isTrue ();
146
152
147
153
req = new DefaultFullHttpRequest (HttpVersion .HTTP_1_1 , HttpMethod .GET , "/foo?k=v&i=5&b=true&i=6" );
148
- context = new ContextFromVertx (vertx , accessor , RequestFromVertXTest .create (req ));
154
+ context = new ContextFromVertx (vertx ,vertx . getOrCreateContext (), accessor , RequestFromVertXTest .create (req ));
149
155
assertThat (context .parameterMultipleValues ("i" )).containsExactly ("5" , "6" );
150
156
}
151
157
@@ -156,7 +162,7 @@ public void testHeader() throws Exception {
156
162
req .headers ().add (HeaderNames .ACCEPT_LANGUAGE , "en-US" );
157
163
req .headers ().add (HeaderNames .ACCEPT_CHARSET , "utf-8" );
158
164
req .headers ().add ("test" , "a" ).add ("test" , "b" );
159
- ContextFromVertx context = new ContextFromVertx (vertx , accessor , RequestFromVertXTest .create (req ));
165
+ ContextFromVertx context = new ContextFromVertx (vertx , vertx . getOrCreateContext (), accessor , RequestFromVertXTest .create (req ));
160
166
161
167
assertThat (context .headers ().containsKey (HeaderNames .ACCEPT_LANGUAGE )).isTrue ();
162
168
assertThat (context .header (HeaderNames .ACCEPT_LANGUAGE )).isEqualTo ("en-US" );
@@ -170,13 +176,13 @@ public void testHeader() throws Exception {
170
176
public void testThatColonAreEncodedCorrectly () throws NoSuchMethodException {
171
177
HttpRequest request = new DefaultFullHttpRequest (HttpVersion .HTTP_1_1 , HttpMethod .GET ,
172
178
"/foo?key=value:value" );
173
- ContextFromVertx context = new ContextFromVertx (vertx , accessor ,
179
+ ContextFromVertx context = new ContextFromVertx (vertx , vertx . getOrCreateContext (), accessor ,
174
180
RequestFromVertXTest .create (request ));
175
181
assertThat (context .path ()).isEqualToIgnoringCase ("/foo" );
176
182
177
183
request = new DefaultFullHttpRequest (HttpVersion .HTTP_1_1 , HttpMethod .GET ,
178
184
"/foo/bar:baz/x" );
179
- context = new ContextFromVertx (vertx , accessor , RequestFromVertXTest .create (request ));
185
+ context = new ContextFromVertx (vertx , vertx . getOrCreateContext (), accessor , RequestFromVertXTest .create (request ));
180
186
Controller controller = new MyController ();
181
187
context .route (new Route (org .wisdom .api .http .HttpMethod .GET , "/foo/{p}/x" ,
182
188
controller , MyController .class .getMethod ("action" )));
0 commit comments