@@ -67,6 +67,7 @@ public void testConnectionFailureIsSenderLevelTerminalState() throws Exception {
6767 Assert .fail ("Expected sender-level connection failure" );
6868 } catch (LineSenderException e ) {
6969 Assert .assertSame (failure , e );
70+ assertStackContains (e , "table" );
7071 }
7172
7273 LineSenderException secondFailure = new LineSenderException ("second failure" );
@@ -77,6 +78,7 @@ public void testConnectionFailureIsSenderLevelTerminalState() throws Exception {
7778 Assert .fail ("Expected original sender-level connection failure" );
7879 } catch (LineSenderException e ) {
7980 Assert .assertSame (failure , e );
81+ assertStackContains (e , "flush" );
8082 }
8183 } finally {
8284 sender .close ();
@@ -354,6 +356,16 @@ private static void invokeResetSchemaStateForNewConnection(Object target) throws
354356 method .invoke (target );
355357 }
356358
359+ private static void assertStackContains (Throwable throwable , String methodName ) {
360+ for (StackTraceElement element : throwable .getStackTrace ()) {
361+ if (QwpWebSocketSender .class .getName ().equals (element .getClassName ())
362+ && methodName .equals (element .getMethodName ())) {
363+ return ;
364+ }
365+ }
366+ Assert .fail ("Expected stack trace to contain QwpWebSocketSender." + methodName );
367+ }
368+
357369 private static boolean invokeRecordConnectionFailure (Object target , LineSenderException error ) throws Exception {
358370 Method method = target .getClass ().getDeclaredMethod ("recordConnectionFailure" , LineSenderException .class );
359371 method .setAccessible (true );
0 commit comments