@@ -191,26 +191,28 @@ void testHeaderFilterSinglePredicate() throws Exception {
191191 String sessionId = "sess1" ;
192192 String subscriptionId = "subs1" ;
193193 String destination = "/dest" ;
194- String customHeaderName = "x-custom-header" ;
195- String customHeaderValue = "custom-value" ;
194+ String nativeHeaderName = "x-custom-header" ;
195+ String nativeHeaderValue = "custom-value" ;
196196
197- Message <?> inputMessage = MessageBuilder . withPayload ( PAYLOAD )
198- . setHeader ( SimpMessageHeaderAccessor . SESSION_ID_HEADER , sessionId )
199- . setHeader ( SimpMessageHeaderAccessor . SUBSCRIPTION_ID_HEADER , subscriptionId )
200- . setHeader ( SimpMessageHeaderAccessor . DESTINATION_HEADER , destination )
201- . setHeader ( customHeaderName , customHeaderValue )
202- . build ( );
197+ SimpMessageHeaderAccessor inputAccessor = SimpMessageHeaderAccessor . create ();
198+ inputAccessor . setSessionId ( sessionId );
199+ inputAccessor . setSubscriptionId ( subscriptionId );
200+ inputAccessor . setDestination ( destination );
201+ inputAccessor . setNativeHeader ( nativeHeaderName , nativeHeaderValue );
202+ Message <?> inputMessage = MessageBuilder . createMessage ( PAYLOAD , inputAccessor . getMessageHeaders () );
203203
204204 MessageSendingOperations template = mock ();
205205 SubscriptionMethodReturnValueHandler handler = new SubscriptionMethodReturnValueHandler (template );
206- handler .addHeaderFilter (name -> name .equals (customHeaderName ));
206+ handler .addHeaderFilter (name -> name .equals (nativeHeaderName ));
207207
208208 handler .handleReturnValue (PAYLOAD , this .subscribeEventReturnType , inputMessage );
209209
210210 ArgumentCaptor <MessageHeaders > captor = ArgumentCaptor .forClass (MessageHeaders .class );
211211 verify (template ).convertAndSend (eq (destination ), eq (PAYLOAD ), captor .capture ());
212212
213- assertThat (captor .getValue ().get (customHeaderName )).isEqualTo (customHeaderValue );
213+ SimpMessageHeaderAccessor sentAccessor = MessageHeaderAccessor .getAccessor (captor .getValue (), SimpMessageHeaderAccessor .class );
214+ assertThat (sentAccessor ).isNotNull ();
215+ assertThat (sentAccessor .getFirstNativeHeader (nativeHeaderName )).isEqualTo (nativeHeaderValue );
214216 }
215217
216218 @ Test
@@ -221,13 +223,13 @@ void testHeaderFilterMultiplePredicates() throws Exception {
221223 String headerA = "x-header-a" ;
222224 String headerB = "x-header-b" ;
223225
224- Message <?> inputMessage = MessageBuilder . withPayload ( PAYLOAD )
225- . setHeader ( SimpMessageHeaderAccessor . SESSION_ID_HEADER , sessionId )
226- . setHeader ( SimpMessageHeaderAccessor . SUBSCRIPTION_ID_HEADER , subscriptionId )
227- . setHeader ( SimpMessageHeaderAccessor . DESTINATION_HEADER , destination )
228- . setHeader (headerA , "A-value" )
229- . setHeader (headerB , "B-value" )
230- . build ( );
226+ SimpMessageHeaderAccessor inputAccessor = SimpMessageHeaderAccessor . create ();
227+ inputAccessor . setSessionId ( sessionId );
228+ inputAccessor . setSubscriptionId ( subscriptionId );
229+ inputAccessor . setDestination ( destination );
230+ inputAccessor . setNativeHeader (headerA , "A-value" );
231+ inputAccessor . setNativeHeader (headerB , "B-value" );
232+ Message <?> inputMessage = MessageBuilder . createMessage ( PAYLOAD , inputAccessor . getMessageHeaders () );
231233
232234 MessageSendingOperations template = mock ();
233235 SubscriptionMethodReturnValueHandler handler = new SubscriptionMethodReturnValueHandler (template );
@@ -239,9 +241,10 @@ void testHeaderFilterMultiplePredicates() throws Exception {
239241 ArgumentCaptor <MessageHeaders > captor = ArgumentCaptor .forClass (MessageHeaders .class );
240242 verify (template ).convertAndSend (eq (destination ), eq (PAYLOAD ), captor .capture ());
241243
242- MessageHeaders sentHeaders = captor .getValue ();
243- assertThat (sentHeaders .get (headerA )).isEqualTo ("A-value" );
244- assertThat (sentHeaders .get (headerB )).isEqualTo ("B-value" );
244+ SimpMessageHeaderAccessor sentAccessor = MessageHeaderAccessor .getAccessor (captor .getValue (), SimpMessageHeaderAccessor .class );
245+ assertThat (sentAccessor ).isNotNull ();
246+ assertThat (sentAccessor .getFirstNativeHeader (headerA )).isEqualTo ("A-value" );
247+ assertThat (sentAccessor .getFirstNativeHeader (headerB )).isEqualTo ("B-value" );
245248 }
246249
247250 private Message <?> createInputMessage (String sessId , String subsId , String dest , Principal principal ) {
0 commit comments