You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by ve...@apache.org on 2015/11/24 09:17:30 UTC

svn commit: r1716061 - /axis/axis2/java/core/trunk/modules/jaxws/test/org/apache/axis2/jaxws/handler/HandlerPrePostInvokerTests.java

Author: veithen
Date: Tue Nov 24 08:17:30 2015
New Revision: 1716061

URL: http://svn.apache.org/viewvc?rev=1716061&view=rev
Log:
Test cases should not have side effects visible to other test cases.

Modified:
    axis/axis2/java/core/trunk/modules/jaxws/test/org/apache/axis2/jaxws/handler/HandlerPrePostInvokerTests.java

Modified: axis/axis2/java/core/trunk/modules/jaxws/test/org/apache/axis2/jaxws/handler/HandlerPrePostInvokerTests.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jaxws/test/org/apache/axis2/jaxws/handler/HandlerPrePostInvokerTests.java?rev=1716061&r1=1716060&r2=1716061&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/jaxws/test/org/apache/axis2/jaxws/handler/HandlerPrePostInvokerTests.java (original)
+++ axis/axis2/java/core/trunk/modules/jaxws/test/org/apache/axis2/jaxws/handler/HandlerPrePostInvokerTests.java Tue Nov 24 08:17:30 2015
@@ -95,26 +95,32 @@ public class HandlerPrePostInvokerTests
      *
      */
     public void testFactoryPrePost() {
-        
-        FactoryRegistry.setFactory(HandlerPreInvokerFactory.class, new HandlerPreInvokerFactoryImpl());
-        FactoryRegistry.setFactory(HandlerPostInvokerFactory.class, new HandlerPostInvokerFactoryImpl());
-        
-        ArrayList<Handler> handlers = new ArrayList<Handler>();
-        handlers.add(new SOAPHandler1());
-        HandlerChainProcessor processor =
-                new HandlerChainProcessor(handlers, Protocol.soap11);
-        boolean success = true;
-        // server-side incoming request
-        success = processor.processChain(mc.getMEPContext(),
-                                HandlerChainProcessor.Direction.IN,
-                                HandlerChainProcessor.MEP.REQUEST,
-                                true);
-        
-        assertTrue("processChain should have succeeded", success);
-        assertTrue("preInvoker should have been called", preInvokerCalled);
-        assertTrue("postInvoker should have been called", postInvokerCalled);
-        assertTrue("Handler did not access message but messageAccessed property is true.", !messageAccessed);
-
+        HandlerPreInvokerFactory orgHandlerPreInvokerFactory = (HandlerPreInvokerFactory)FactoryRegistry.getFactory(HandlerPreInvokerFactory.class);
+        HandlerPostInvokerFactory orgHandlerPostInvokerFactory = (HandlerPostInvokerFactory)FactoryRegistry.getFactory(HandlerPostInvokerFactory.class);
+        try {
+            FactoryRegistry.setFactory(HandlerPreInvokerFactory.class, new HandlerPreInvokerFactoryImpl());
+            FactoryRegistry.setFactory(HandlerPostInvokerFactory.class, new HandlerPostInvokerFactoryImpl());
+            
+            ArrayList<Handler> handlers = new ArrayList<Handler>();
+            handlers.add(new SOAPHandler1());
+            HandlerChainProcessor processor =
+                    new HandlerChainProcessor(handlers, Protocol.soap11);
+            boolean success = true;
+            // server-side incoming request
+            success = processor.processChain(mc.getMEPContext(),
+                                    HandlerChainProcessor.Direction.IN,
+                                    HandlerChainProcessor.MEP.REQUEST,
+                                    true);
+            
+            assertTrue("processChain should have succeeded", success);
+            assertTrue("preInvoker should have been called", preInvokerCalled);
+            assertTrue("postInvoker should have been called", postInvokerCalled);
+            assertTrue("Handler did not access message but messageAccessed property is true.", !messageAccessed);
+        } finally {
+            // Reset factory state to avoid side effects visible to other tests
+            FactoryRegistry.setFactory(HandlerPreInvokerFactory.class, orgHandlerPreInvokerFactory);
+            FactoryRegistry.setFactory(HandlerPostInvokerFactory.class, orgHandlerPostInvokerFactory);
+        }
     }
 
     public void testPostInvokerMessageAccessed() {