@@ -148,29 +148,36 @@ public void noSubProtocolNoDefaultHandler() throws Exception {
148
148
public void checkSession () throws Exception {
149
149
TestWebSocketSession session1 = new TestWebSocketSession ("id1" );
150
150
TestWebSocketSession session2 = new TestWebSocketSession ("id2" );
151
+ session1 .setOpen (true );
152
+ session2 .setOpen (true );
151
153
session1 .setAcceptedProtocol ("v12.stomp" );
152
154
session2 .setAcceptedProtocol ("v12.stomp" );
153
155
154
156
this .webSocketHandler .setProtocolHandlers (Arrays .asList (this .stompHandler ));
155
157
this .webSocketHandler .afterConnectionEstablished (session1 );
156
158
this .webSocketHandler .afterConnectionEstablished (session2 );
157
- session1 .setOpen (true );
158
- session2 .setOpen (true );
159
+
160
+ DirectFieldAccessor handlerAccessor = new DirectFieldAccessor (this .webSocketHandler );
161
+ Map <String , ?> map = (Map <String , ?>) handlerAccessor .getPropertyValue ("sessions" );
162
+ DirectFieldAccessor session1Accessor = new DirectFieldAccessor (map .get ("id1" ));
163
+ DirectFieldAccessor session2Accessor = new DirectFieldAccessor (map .get ("id2" ));
159
164
160
165
long sixtyOneSecondsAgo = System .currentTimeMillis () - 61 * 1000 ;
161
- new DirectFieldAccessor (this .webSocketHandler ).setPropertyValue ("lastSessionCheckTime" , sixtyOneSecondsAgo );
162
- Map <String , ?> sessions = (Map <String , ?>) new DirectFieldAccessor (this .webSocketHandler ).getPropertyValue ("sessions" );
163
- new DirectFieldAccessor (sessions .get ("id1" )).setPropertyValue ("createTime" , sixtyOneSecondsAgo );
164
- new DirectFieldAccessor (sessions .get ("id2" )).setPropertyValue ("createTime" , sixtyOneSecondsAgo );
166
+ handlerAccessor .setPropertyValue ("lastSessionCheckTime" , sixtyOneSecondsAgo );
167
+ session1Accessor .setPropertyValue ("createTime" , sixtyOneSecondsAgo );
168
+ session2Accessor .setPropertyValue ("createTime" , sixtyOneSecondsAgo );
165
169
166
170
this .webSocketHandler .start ();
167
171
this .webSocketHandler .handleMessage (session1 , new TextMessage ("foo" ));
168
172
169
173
assertTrue (session1 .isOpen ());
170
- assertFalse (session2 .isOpen ());
171
174
assertNull (session1 .getCloseStatus ());
175
+
176
+ assertFalse (session2 .isOpen ());
172
177
assertEquals (CloseStatus .SESSION_NOT_RELIABLE , session2 .getCloseStatus ());
173
- }
174
178
179
+ assertNotEquals ("lastSessionCheckTime not updated" , sixtyOneSecondsAgo ,
180
+ handlerAccessor .getPropertyValue ("lastSessionCheckTime" ));
181
+ }
175
182
176
183
}
0 commit comments