cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ningji...@apache.org
Subject svn commit: r518627 [2/2] - in /incubator/cxf/trunk: integration/jca/ rt/ rt/bindings/http/ rt/databinding/aegis/ rt/transports/http/ rt/transports/http/src/java/ rt/transports/http/src/main/java/org/apache/cxf/transport/http/ rt/transports/http/src/ma...
Date Thu, 15 Mar 2007 13:44:50 GMT
Modified: incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletDestination.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletDestination.java?view=diff&rev=518627&r1=518626&r2=518627
==============================================================================
--- incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletDestination.java (original)
+++ incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletDestination.java Thu Mar 15 06:44:47 2007
@@ -20,38 +20,22 @@
 package org.apache.cxf.transport.servlet;
 
 import java.io.IOException;
-import java.io.OutputStream;
-import java.net.HttpURLConnection;
 import java.net.URL;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.List;
-import java.util.Map;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.cxf.Bus;
-import org.apache.cxf.helpers.HttpHeaderHelper;
-import org.apache.cxf.io.AbstractWrappedOutputStream;
 import org.apache.cxf.message.Message;
 import org.apache.cxf.message.MessageImpl;
 import org.apache.cxf.service.model.EndpointInfo;
-import org.apache.cxf.transport.AbstractDestination;
-import org.apache.cxf.transport.Conduit;
 import org.apache.cxf.transport.ConduitInitiator;
 import org.apache.cxf.transport.MessageObserver;
 import org.apache.cxf.transport.http.AbstractHTTPDestination;
 
 
 public class ServletDestination extends AbstractHTTPDestination {
-
-    public static final String HTTP_REQUEST =
-        "HTTP_SERVLET_REQUEST";
-    public static final String HTTP_RESPONSE =
-        "HTTP_SERVLET_RESPONSE"; 
     
     static final Logger LOG = Logger.getLogger(ServletDestination.class.getName());
         
@@ -81,48 +65,9 @@
     protected Logger getLogger() {
         return LOG;
     }
-
-    /**
-     * @param inMessage the incoming message
-     * @return the inbuilt backchannel
-     */
-    protected Conduit getInbuiltBackChannel(Message inMessage) {
-        HttpServletResponse response = (HttpServletResponse)inMessage.get(HTTP_RESPONSE);
-        return new BackChannelConduit(response);
-    }
+  
    
-   
-        
-    /**
-     * Copy the request headers into the message.
-     * 
-     * @param message the current message
-     * @param headers the current set of headers
-     */
-    protected void copyRequestHeaders(Message message, Map<String, List<String>> headers) {
-        HttpServletRequest req = (HttpServletRequest)message.get(HTTP_REQUEST);
-        for (Enumeration e = req.getHeaderNames(); e.hasMoreElements();) {
-            String fname = (String)e.nextElement();
-            
-            List<String> values;
-            if (headers.containsKey(fname)) {
-                values = headers.get(fname);
-            } else {
-                values = new ArrayList<String>();
-                headers.put(HttpHeaderHelper.getHeaderKey(fname), values);
-            }
-            for (Enumeration e2 = req.getHeaders(fname); e2.hasMoreElements();) {
-                String val = (String)e2.nextElement();
-                values.add(val);
-            }
-        }
-    }    
-    /**
-     * Copy the response headers into the response.
-     * 
-     * @param message the current message
-     * @param headers the current set of headers
-     */
+    
     protected void copyResponseHeaders(Message message, HttpServletResponse response) {
         String ct = (String) message.get(Message.CONTENT_TYPE);
         String enc = (String) message.get(Message.ENCODING);
@@ -135,9 +80,7 @@
         } else if (enc != null) {
             response.setContentType("text/xml; charset=" + enc);
         }
-        
-    }
-    
+    }    
     
     
     protected void doMessage(MessageImpl inMessage) throws IOException {
@@ -155,104 +98,7 @@
             }
         }
         
-    }
-    
-    protected class BackChannelConduit
-        extends AbstractDestination.AbstractBackChannelConduit {
-        
-        protected HttpServletResponse response;
-        
-        BackChannelConduit(HttpServletResponse resp) {
-            response = resp;
-        }
-
-        /**
-         * Send an outbound message, assumed to contain all the name-value
-         * mappings of the corresponding input message (if any). 
-         * 
-         * @param message the message to be sent.
-         */
-        public void send(Message message) throws IOException {
-            message.put(HTTP_RESPONSE, response);
-            message.setContent(OutputStream.class,
-                               new WrappedOutputStream(message, response));
-        }
-    }
-    
-    private class WrappedOutputStream extends AbstractWrappedOutputStream {
-        
-        protected HttpServletResponse response;
-        
-        WrappedOutputStream(Message m, HttpServletResponse resp) {
-            super(m);
-            response = resp;
-        }
-
-        /**
-         * Perform any actions required on stream flush (freeze headers,
-         * reset output stream ... etc.)
-         */
-        protected void doFlush() throws IOException {
-            OutputStream responseStream = flushHeaders(outMessage);
-            if (null != responseStream && !alreadyFlushed()) {
-                resetOut(responseStream, true);
-            }
-        }
-
-        /**
-         * Perform any actions required on stream closure (handle response etc.)
-         */
-        protected void doClose() {
-            commitResponse();
-        }
-
-        protected void onWrite() throws IOException {            
-        }
-        
-        private void commitResponse() {
-            try {
-                response.flushBuffer();
-            } catch (IOException e) {
-                LOG.severe(e.getMessage());
-            }
-        }
-    }
-    
-    protected OutputStream flushHeaders(Message outMessage) throws IOException {
-        updateResponseHeaders(outMessage);
-        Object responseObj = outMessage.get(HTTP_RESPONSE);
-        OutputStream responseStream = null;
-        if (responseObj instanceof HttpServletResponse) {
-            HttpServletResponse response = (HttpServletResponse)responseObj;
-                
-            Integer i = (Integer)outMessage.get(Message.RESPONSE_CODE);
-            if (i != null) {
-                int status = i.intValue();
-                response.setStatus(status);                
-            } else {
-                response.setStatus(HttpURLConnection.HTTP_OK);
-            }
-            
-            copyResponseHeaders(outMessage, response);
-            responseStream = response.getOutputStream();
-                    
-            if (isOneWay(outMessage)) {
-                response.flushBuffer();
-            }
-        } else {
-            LOG.log(Level.WARNING, "UNEXPECTED_RESPONSE_TYPE_MSG", responseObj.getClass());
-            throw new IOException("UNEXPECTED_RESPONSE_TYPE_MSG" + responseObj.getClass());
-        }
-    
-        if (isOneWay(outMessage)) {
-            outMessage.remove(HTTP_RESPONSE);
-        }
-        return responseStream;
-    }
-    
-    protected boolean isOneWay(Message message) {
-        return message.getExchange() != null && message.getExchange().isOneWay();
-    }
+    }   
 
     public MessageObserver getMessageObserver() {
         return this.incomingObserver;

Modified: incubator/cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HTTPConduitTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HTTPConduitTest.java?view=diff&rev=518627&r1=518626&r2=518627
==============================================================================
--- incubator/cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HTTPConduitTest.java (original)
+++ incubator/cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HTTPConduitTest.java Thu Mar 15 06:44:47 2007
@@ -33,6 +33,9 @@
 import java.util.List;
 import java.util.Map;
 
+import javax.servlet.ServletInputStream;
+import javax.servlet.ServletOutputStream;
+
 import junit.framework.TestCase;
 
 import org.apache.cxf.bus.CXFBusImpl;
@@ -63,8 +66,8 @@
     private Proxy proxy;
     private Message inMessage;
     private MessageObserver observer;
-    private OutputStream os;
-    private InputStream is;
+    private ServletOutputStream os;
+    private ServletInputStream is;
     private IMocksControl control;
     
     public void setUp() throws Exception {
@@ -139,7 +142,8 @@
         contentTypes.add("text/xml");
         contentTypes.add("charset=utf8");
         headers.put("content-type", contentTypes);
-        message.put(Message.PROTOCOL_HEADERS, headers);        
+        message.put(Message.PROTOCOL_HEADERS, headers);
+        
         
         AuthorizationPolicy authPolicy = new AuthorizationPolicy();
         authPolicy.setUserName("BJ");
@@ -199,9 +203,9 @@
                     ((HttpURLConnection)connection).setChunkedStreamingMode(2048);
                     EasyMock.expectLastCall();                    
                 }
-            }         
+            }
         }
-
+               
         CXFBusImpl bus = new CXFBusImpl();
         URL decoupledURL = null;
         if (decoupled) {
@@ -222,13 +226,14 @@
         }
         
         control.replay();
-        
+
         HTTPConduit conduit = new HTTPConduit(bus, 
                                               endpointInfo,
                                               null,
                                               connectionFactory);
         conduit.retrieveConnectionFactory();
 
+        
         if (send) {
             conduit.getClient().setConnectionTimeout(303030);
             conduit.getClient().setReceiveTimeout(404040);
@@ -239,14 +244,14 @@
                 } 
             }
         }
-
+        
         if (decoupled) {
             conduit.getClient().setDecoupledEndpoint(decoupledURL.toString());
             assertNotNull("expected back channel", conduit.getBackChannel());
         } else {
             assertNull("unexpected back channel", conduit.getBackChannel());
         }
-
+       
         observer = new MessageObserver() {
             public void onMessage(Message m) {
                 inMessage = m;
@@ -284,7 +289,7 @@
         }
         
         
-        os = EasyMock.createMock(OutputStream.class);
+        os = EasyMock.createMock(ServletOutputStream.class);
         connection.getOutputStream();
         EasyMock.expectLastCall().andReturn(os);
         os.write(PAYLOAD.getBytes(), 0, PAYLOAD.length());
@@ -298,9 +303,9 @@
         EasyMock.expectLastCall();
         
         verifyHandleResponse(decoupled);
-
-        control.replay();
         
+        control.replay();
+                
         wrappedOS.flush();
         wrappedOS.flush();
         wrappedOS.close();
@@ -370,7 +375,7 @@
             String responseString = Integer.toString(responseCode);
             EasyMock.expectLastCall().andReturn(responseString).times(2);
         }
-        is = EasyMock.createMock(InputStream.class);
+        is = EasyMock.createMock(ServletInputStream.class);
         connection.getInputStream();
         EasyMock.expectLastCall().andReturn(is);
     }
@@ -390,10 +395,10 @@
                      inMessage.get(DECOUPLED_CHANNEL_MESSAGE));
         assertEquals("unexpected HTTP_REQUEST set",
                      false,
-                     inMessage.containsKey(HTTPConduit.HTTP_REQUEST));
+                     inMessage.containsKey(AbstractHTTPDestination.HTTP_REQUEST));
         assertEquals("unexpected HTTP_RESPONSE set",
                      false,
-                     inMessage.containsKey(HTTPConduit.HTTP_RESPONSE));
+                     inMessage.containsKey(AbstractHTTPDestination.HTTP_RESPONSE));
         assertEquals("unexpected Message.ASYNC_POST_RESPONSE_DISPATCH set",
                      false,
                      inMessage.containsKey(Message.ASYNC_POST_RESPONSE_DISPATCH));

Modified: incubator/cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/http/JettyContextInspectorTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/http/JettyContextInspectorTest.java?view=diff&rev=518627&r1=518626&r2=518627
==============================================================================
--- incubator/cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/http/JettyContextInspectorTest.java (original)
+++ incubator/cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/http/JettyContextInspectorTest.java Thu Mar 15 06:44:47 2007
@@ -23,17 +23,17 @@
 
 import org.easymock.classextension.EasyMock;
 import org.easymock.classextension.IMocksControl;
-import org.mortbay.http.HttpContext;
+import org.mortbay.jetty.handler.ContextHandler;
 
 
 public class JettyContextInspectorTest extends TestCase {
     private static final String CONTEXT_PATH = "/foo/bar";
-    private HttpContext context;
+    private ContextHandler context;
     private IMocksControl control;
     
     public void setUp() throws Exception {
         control = EasyMock.createNiceControl();
-        context = control.createMock(HttpContext.class);
+        context = control.createMock(ContextHandler.class);
         context.getContextPath();
         EasyMock.expectLastCall().andReturn(CONTEXT_PATH);
         control.replay();

Modified: incubator/cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/http/JettyHTTPDestinationTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/http/JettyHTTPDestinationTest.java?view=diff&rev=518627&r1=518626&r2=518627
==============================================================================
--- incubator/cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/http/JettyHTTPDestinationTest.java (original)
+++ incubator/cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/http/JettyHTTPDestinationTest.java Thu Mar 15 06:44:47 2007
@@ -21,15 +21,16 @@
 
 
 import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
 import java.io.OutputStream;
 import java.net.URL;
 import java.util.ArrayList;
-import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import javax.servlet.ServletInputStream;
+import javax.servlet.ServletOutputStream;
+
 import junit.framework.TestCase;
 
 import org.apache.cxf.Bus;
@@ -37,23 +38,25 @@
 import org.apache.cxf.common.util.Base64Utility;
 import org.apache.cxf.common.util.StringUtils;
 import org.apache.cxf.configuration.security.AuthorizationPolicy;
+import org.apache.cxf.configuration.security.SSLServerPolicy;
 import org.apache.cxf.helpers.CastUtils;
 import org.apache.cxf.io.AbstractCachedOutputStream;
 import org.apache.cxf.message.ExchangeImpl;
 import org.apache.cxf.message.Message;
 import org.apache.cxf.message.MessageImpl;
+import org.apache.cxf.security.transport.TLSSessionInfo;
 import org.apache.cxf.service.model.EndpointInfo;
 import org.apache.cxf.transport.Conduit;
 import org.apache.cxf.transport.ConduitInitiator;
 import org.apache.cxf.transport.MessageObserver;
-import org.apache.cxf.transports.http.QueryHandler;
-import org.apache.cxf.transports.http.QueryHandlerRegistry;
 import org.apache.cxf.transports.http.configuration.HTTPServerPolicy;
 import org.apache.cxf.ws.addressing.EndpointReferenceType;
 import org.apache.cxf.wsdl.EndpointReferenceUtils;
 import org.easymock.classextension.EasyMock;
-import org.easymock.classextension.IMocksControl;
-import org.mortbay.http.handler.AbstractHttpHandler;
+import org.mortbay.jetty.HttpFields;
+import org.mortbay.jetty.Request;
+import org.mortbay.jetty.Response;
+import org.mortbay.jetty.handler.AbstractHandler;
 
 public class JettyHTTPDestinationTest extends TestCase {
     protected static final String AUTH_HEADER = "Authorization";
@@ -77,26 +80,21 @@
     private ServerEngine engine;
     private HTTPServerPolicy policy;
     private JettyHTTPDestination destination;
-    private TestHttpRequest request;
-    private TestHttpResponse response;
+    private Request request;
+    private Response response;
     private Message inMessage;
     private Message outMessage;
     private MessageObserver observer;
-    private InputStream is;
-    private OutputStream os;
-    private IMocksControl control;
-    private WSDLQueryHandler wsdlQueryHandler;
-    private QueryHandlerRegistry  queryHandlerRegistry;
-    private List<QueryHandler> queryHandlerList; 
+    private ServletInputStream is;
+    private ServletOutputStream os;
+    
 
     
     public void setUp() throws Exception {
-        control = EasyMock.createNiceControl();
+        //control = EasyMock.createNiceControl();
     }
 
     public void tearDown() {
-        //control.verify();
-        control = null;
         bus = null;
         conduitInitiator = null;
         decoupledBackChannel = null;
@@ -126,35 +124,25 @@
     }
 
     public void testDoServiceRedirectURL() throws Exception {
-        destination = setUpDestination(false, false);
+        destination = setUpDestination(false);
         setUpDoService(true);
-        destination.doService(request, response);
-
-        assertEquals("unexpected sendRedirect calls",
-                     1,
-                     response.getSendRedirectCallCount());
-        assertEquals("unexpected commit calls",
-                     1,
-                     response.getCommitCallCount());
-        assertEquals("unexpected setHandled calls",
-                     1,
-                     request.getHandledCallCount());
+        destination.doService(request, response);        
     }
 
     public void testDoService() throws Exception {
-        destination = setUpDestination(false, false);
+        destination = setUpDestination(false);
         setUpDoService(false);
         destination.doService(request, response);
         verifyDoService();
     }
     
     public void testDoServiceWithHttpGET() throws Exception {
-        destination = setUpDestination(false, false);
+        destination = setUpDestination(false);
         setUpDoService(false,
                        false,
                        false,
                        "GET",
-                       "?customerId=abc&cutomerAdd=def");
+                       "?customerId=abc&cutomerAdd=def", 200);
         destination.doService(request, response);
         
         assertNotNull("unexpected null message", inMessage);
@@ -163,29 +151,15 @@
                      "GET");
         assertEquals("unexpected path",
                      inMessage.get(Message.PATH_INFO),
-                     "bar/foo");
+                     "/bar/foo");
         assertEquals("unexpected query",
                      inMessage.get(Message.QUERY_STRING),
                      "?customerId=abc&cutomerAdd=def");
 
     }
-    
-    public void testDoServiceWithHttpGETandQueryWSDL() throws Exception {
-        destination = setUpDestination(false, true);
-        setUpDoService(false,
-                       false,
-                       false,
-                       "GET",
-                       "?wsdl");
-        
-        destination.doService(request, response);
-        assertNotNull("unexpected null response", response);
-        assertEquals("text/xml", response.getContentType());
-        
-    }
 
     public void testGetAnonBackChannel() throws Exception {
-        destination = setUpDestination(false, false);
+        destination = setUpDestination(false);
         setUpDoService(false);
         destination.doService(request, response);
         setUpInMessage();
@@ -200,7 +174,7 @@
     }
     
     public void testGetBackChannelSend() throws Exception {
-        destination = setUpDestination(false, false);
+        destination = setUpDestination(false);
         setUpDoService(false, true);
         destination.doService(request, response);
         setUpInMessage();
@@ -212,8 +186,8 @@
     }
 
     public void testGetBackChannelSendFault() throws Exception {
-        destination = setUpDestination(false, false);
-        setUpDoService(false, true);
+        destination = setUpDestination(false);
+        setUpDoService(false, true, 500);
         destination.doService(request, response);
         setUpInMessage();
         Conduit backChannel =
@@ -224,8 +198,8 @@
     }
     
     public void testGetBackChannelSendOneway() throws Exception {
-        destination = setUpDestination(false, false);
-        setUpDoService(false, true);
+        destination = setUpDestination(false);
+        setUpDoService(false, true, 500);
         destination.doService(request, response);
         setUpInMessage();
         Conduit backChannel =
@@ -236,9 +210,9 @@
     }
 
     public void testGetBackChannelSendDecoupled() throws Exception {
-        destination = setUpDestination(false, false);
+        destination = setUpDestination(false);
         replyTo = getEPR(NOWHERE + "response/foo");
-        setUpDoService(false, true, true);
+        setUpDoService(false, true, true, 202);
         destination.doService(request, response);
         setUpInMessage();
         
@@ -262,56 +236,56 @@
     
     public void testServerPolicyInServiceModel()
         throws Exception {
+        policy = new HTTPServerPolicy();
         address = getEPR("bar/foo");
         bus = new CXFBusImpl();
         
-        conduitInitiator = control.createMock(ConduitInitiator.class);
-        engine = control.createMock(ServerEngine.class);
+        conduitInitiator = EasyMock.createMock(ConduitInitiator.class);
         endpointInfo = new EndpointInfo();
         endpointInfo.setAddress(NOWHERE + "bar/foo");
-       
-        HTTPServerPolicy customPolicy = new HTTPServerPolicy();
-        endpointInfo.addExtensor(customPolicy);
-
-        control.replay();
+        endpointInfo.addExtensor(policy);  
+        endpointInfo.addExtensor(new SSLServerPolicy());    
         
-        JettyHTTPDestination dest = new JettyHTTPDestination(bus,
+        engine = EasyMock.createMock(ServerEngine.class);
+        EasyMock.replay();
+
+        AbstractHTTPDestination dest = new JettyHTTPDestination(bus,
                                                              conduitInitiator,
                                                              endpointInfo,
                                                              engine);
-        assertEquals(customPolicy, dest.getServer());
+        assertEquals(policy, dest.getServer());
     }
-        
+    
     private JettyHTTPDestination setUpDestination()
         throws Exception {
-        return setUpDestination(false, false);
+        return setUpDestination(false);
     };
     
-    private JettyHTTPDestination setUpDestination(boolean contextMatchOnStem, boolean mockedBus)
-        throws Exception {
+    private JettyHTTPDestination setUpDestination(boolean contextMatchOnStem)
+        throws Exception {        
+        
+        policy = new HTTPServerPolicy();
         address = getEPR("bar/foo");
-        if (!mockedBus) {
-            bus = new CXFBusImpl();
-        } else {
-            bus = control.createMock(Bus.class);
-        }
+        bus = new CXFBusImpl();
+        conduitInitiator = EasyMock.createMock(ConduitInitiator.class);
         
-        conduitInitiator = control.createMock(ConduitInitiator.class);
-        engine = control.createMock(ServerEngine.class);
+        engine = EasyMock.createMock(ServerEngine.class);        
         endpointInfo = new EndpointInfo();
         endpointInfo.setAddress(NOWHERE + "bar/foo");
-       
-        engine.addServant(EasyMock.eq(new URL(NOWHERE + "bar/foo")),
-                          EasyMock.isA(AbstractHttpHandler.class));
+        endpointInfo.addExtensor(policy);    
+        endpointInfo.getExtensor(SSLServerPolicy.class);
+        endpointInfo.addExtensor(new SSLServerPolicy());
         
-        control.replay();
+        engine.addServant(EasyMock.eq(new URL(NOWHERE + "bar/foo")),
+                          EasyMock.isA(AbstractHandler.class));
+        EasyMock.expectLastCall();
+        EasyMock.replay(engine);
         
         JettyHTTPDestination dest = new JettyHTTPDestination(bus,
                                                              conduitInitiator,
                                                              endpointInfo,
                                                              engine);
-        dest.retrieveEngine();
-        policy = dest.getServer();
+        dest.retrieveEngine();        
         observer = new MessageObserver() {
             public void onMessage(Message m) {
                 inMessage = m;
@@ -322,11 +296,10 @@
     }
     
     private void setUpRemoveServant() throws Exception {
-        control.verify();
-        control.reset();
+        EasyMock.reset(engine);
         engine.removeServant(EasyMock.eq(new URL(NOWHERE + "bar/foo")));
         EasyMock.expectLastCall();
-        control.replay();
+        EasyMock.replay(engine);
     }
     
     private void setUpDoService(boolean setRedirectURL) throws Exception {
@@ -338,67 +311,97 @@
         setUpDoService(setRedirectURL,
                        sendResponse,
                        false);
-    }        
+    }
+    
+    private void setUpDoService(boolean setRedirectURL,
+                                boolean sendResponse, int status) throws Exception {
+        String method = "POST";
+        String query = "?name";
+        setUpDoService(setRedirectURL, sendResponse, false, method, query, status);
+    }
+    
+    private void setUpDoService(boolean setRedirectURL,
+                                boolean sendResponse, boolean decoupled, int status) throws Exception {
+        String method = "POST";
+        String query = "?name";
+        setUpDoService(setRedirectURL, sendResponse, decoupled, method, query, status);
+    }
 
     private void setUpDoService(boolean setRedirectURL,
             boolean sendResponse,
             boolean decoupled) throws Exception {
         String method = "POST";
         String query = "?name";
-        setUpDoService(setRedirectURL, sendResponse, decoupled, method, query);
+        setUpDoService(setRedirectURL, sendResponse, decoupled, method, query, 200);
     }
-
+   
     private void setUpDoService(boolean setRedirectURL,
                                 boolean sendResponse,
                                 boolean decoupled,
                                 String method,
-                                String query) throws Exception {
-
-        control.verify();
-        control.reset();
-
-        is = EasyMock.createMock(InputStream.class);
-        os = EasyMock.createMock(OutputStream.class);
+                                String query,
+                                int status) throws Exception {
+        is = EasyMock.createMock(ServletInputStream.class);
+        os = EasyMock.createMock(ServletOutputStream.class);
+        request = EasyMock.createMock(Request.class);
+        response = EasyMock.createMock(Response.class);
+       
+        request.getMethod();
+        EasyMock.expectLastCall().andReturn(method);
         
-        // EasyMock does not seem able to properly mock calls to HttpRequest
-        // or HttpResponse - expectations set seem to be ignored.
-        // Hence we use hand-crafted sub-classes instead of mocks.
-        //
-        //request = EasyMock.createMock(HttpRequest.class);
-        //response = EasyMock.createMock(HttpResponse.class);
-        request = new TestHttpRequest(method, is, "bar/foo", query);
-        response = new TestHttpResponse(os);
+        if ("GET".equals(method)) {            
+            request.getQueryString();
+            EasyMock.expectLastCall().andReturn(query);            
+        } 
         
         if (setRedirectURL) {
             policy.setRedirectURL(NOWHERE + "foo/bar");
-            //response.sendRedirect(EasyMock.eq(NOWHERE + "foo/bar"));
-            //EasyMock.expectLastCall();
-            //response.commit();
-            //EasyMock.expectLastCall();
-            //request.setHandled(true);
-            //EasyMock.expectLastCall();
-        } else {
-            //request.getMethod();
-            //EasyMock.expectLastCall().andReturn("POST").times(2);
-            //request.getInputStream();
-            //EasyMock.expectLastCall().andReturn(is);
-            //request.getPath();
-            //EasyMock.expectLastCall().andReturn("bar/foo");
-            //request.getQuery();
-            //EasyMock.expectLastCall().andReturn(QUERY);
-            //request.setHandled(true);
-            //EasyMock.expectLastCall();  
-            //response.commit();
-            //EasyMock.expectLastCall();
-            //if (sendResponse) {
-            //    response.getOutputStream();
-            //    EasyMock.expectLastCall().andReturn(os);
-            //    response.commit();
-            //    EasyMock.expectLastCall();                
-            //}
-            if ("GET".equals(method) && "?wsdl".equals(query)) {
-                verifyGetWSDLQuery();
+            response.sendRedirect(EasyMock.eq(NOWHERE + "foo/bar"));
+            EasyMock.expectLastCall();
+            response.flushBuffer();
+            EasyMock.expectLastCall();
+            request.setHandled(true);
+            EasyMock.expectLastCall();
+        } else { // method is POST 
+            EasyMock.expect(request.getMethod()).andReturn(method);            
+            EasyMock.expect(request.getInputStream()).andReturn(is);
+            EasyMock.expect(request.getContextPath()).andReturn("/bar");
+            EasyMock.expect(request.getPathInfo()).andReturn("/foo");
+            EasyMock.expect(request.getQueryString()).andReturn(query);            
+            EasyMock.expect(request.getContentType()).andReturn("text/xml charset=utf8");
+            
+            HttpFields httpFields = new HttpFields();
+            httpFields.add("content-type", "text/xml");
+            httpFields.add("content-type", "charset=utf8");
+            httpFields.put(JettyHTTPDestinationTest.AUTH_HEADER, JettyHTTPDestinationTest.BASIC_AUTH);
+            
+            EasyMock.expect(request.getHeaderNames()).andReturn(httpFields.getFieldNames());
+            request.getHeaders("content-type");
+            EasyMock.expectLastCall().andReturn(httpFields.getValues("content-type"));
+            request.getHeaders(JettyHTTPDestinationTest.AUTH_HEADER);
+            EasyMock.expectLastCall().andReturn(httpFields.getValues(JettyHTTPDestinationTest.AUTH_HEADER));
+                                              
+            EasyMock.expect(request.getInputStream()).andReturn(is);
+            request.setHandled(true);
+            EasyMock.expectLastCall();  
+            response.flushBuffer();
+            EasyMock.expectLastCall();
+            if (sendResponse) {
+                response.setStatus(status);
+                EasyMock.expectLastCall();
+                response.setContentType("text/xml charset=utf8");
+                EasyMock.expectLastCall();
+                response.addHeader(EasyMock.isA(String.class), EasyMock.isA(String.class));
+                EasyMock.expectLastCall().anyTimes();
+                response.getOutputStream();
+                EasyMock.expectLastCall().andReturn(os);
+                response.getStatus();
+                EasyMock.expectLastCall().andReturn(status).anyTimes();
+                response.flushBuffer();
+                EasyMock.expectLastCall();                
             }
+            request.getAttribute("javax.net.ssl.session");
+            EasyMock.expectLastCall().andReturn(null);
         }
         
         if (decoupled) {
@@ -406,11 +409,15 @@
             conduitInitiator.getConduit(EasyMock.isA(EndpointInfo.class),
                                         EasyMock.eq(replyTo));
             EasyMock.expectLastCall().andReturn(decoupledBackChannel);
-            decoupledBackChannel.send(EasyMock.eq(outMessage));
+            decoupledBackChannel.setMessageObserver(EasyMock.isA(MessageObserver.class));
+            EasyMock.expectLastCall();
+            decoupledBackChannel.send(EasyMock.isA(Message.class));
             EasyMock.expectLastCall();
+            EasyMock.replay(conduitInitiator);
+            EasyMock.replay(decoupledBackChannel);
         }
-        
-        control.replay();
+        EasyMock.replay(response);
+        EasyMock.replay(request);
     }
     
     private void setUpInMessage() {
@@ -436,23 +443,6 @@
         challenges.add(CUSTOM_CHALLENGE);
         responseHeaders.put(CHALLENGE_HEADER, challenges);
     }
-    
-    private void verifyGetWSDLQuery() throws Exception {
-        wsdlQueryHandler = control.createMock(WSDLQueryHandler.class);
-        queryHandlerRegistry = control.createMock(QueryHandlerRegistry.class);
-        queryHandlerList = new ArrayList<QueryHandler>();
-        queryHandlerList.add(wsdlQueryHandler);
-        bus.getExtension(QueryHandlerRegistry.class);
-        EasyMock.expectLastCall().andReturn(queryHandlerRegistry);
-        queryHandlerRegistry.getHandlers();
-        EasyMock.expectLastCall().andReturn(queryHandlerList);
-        wsdlQueryHandler.isRecognizedQuery("http://localhost/bar/foo?wsdl", endpointInfo);
-        EasyMock.expectLastCall().andReturn(true);   
-        wsdlQueryHandler.getResponseContentType("http://localhost/bar/foo?wsdl");
-        EasyMock.expectLastCall().andReturn("text/xml");
-        wsdlQueryHandler.writeResponse("http://localhost/bar/foo?wsdl", endpointInfo, os);
-        EasyMock.expectLastCall().once();
-    }
 
     private void verifyDoService() throws Exception {
         assertNotNull("unexpected null message", inMessage);
@@ -467,38 +457,22 @@
                      "POST");
         assertEquals("unexpected path",
                      inMessage.get(Message.PATH_INFO),
-                     "bar/foo");
+                     "/bar/foo");
         assertEquals("unexpected query",
                      inMessage.get(Message.QUERY_STRING),
                      "?name");
-        verifyRequestHeaders();
-        
+        assertNull("unexpected query",
+                   inMessage.get(TLSSessionInfo.class));
+        verifyRequestHeaders();      
         
-        assertEquals("unexpected getMethod calls",
-                     1,
-                     request.getMethodCallCount());
-        assertEquals("unexpected getInputStream calls",
-                     1,
-                     request.getInputStreamCallCount());
-        assertEquals("unexpected getPath calls",
-                     1,
-                     request.getPathCallCount());
-        assertEquals("unexpected getQuery calls",
-                     1,
-                     request.getQueryCallCount());
-        assertEquals("unexpected setHandled calls",
-                     1,
-                     request.getHandledCallCount());
+       
     }
 
     private void verifyRequestHeaders() throws Exception {
         Map<String, List<String>> requestHeaders =
             CastUtils.cast((Map<?, ?>)inMessage.get(Message.PROTOCOL_HEADERS));
         assertNotNull("expected request headers",
-                      requestHeaders);
-        assertEquals("expected getFieldNames",
-                     1,
-                     request.getFieldNamesCallCount());
+                      requestHeaders);        
         List<String> values = requestHeaders.get("content-type");
         assertNotNull("expected field", values);
         assertEquals("unexpected values", 2, values.size());
@@ -525,10 +499,10 @@
             CastUtils.cast((Map<?, ?>)outMsg.get(Message.PROTOCOL_HEADERS));
         assertNotNull("expected response headers",
                       responseHeaders);
-        assertEquals("expected addField",
+        /*assertEquals("expected addField",
                      3,
                      response.getAddFieldCallCount());
-        Enumeration e = response.getFieldValues(CHALLENGE_HEADER);
+        Enumeration e = response.getHeaders(CHALLENGE_HEADER);
         List<String> challenges = new ArrayList<String>();
         while (e.hasMoreElements()) {
             challenges.add((String)e.nextElement());
@@ -538,7 +512,7 @@
         assertTrue("expected challenge",
                    challenges.contains(DIGEST_CHALLENGE));
         assertTrue("expected challenge",
-                   challenges.contains(CUSTOM_CHALLENGE));
+                   challenges.contains(CUSTOM_CHALLENGE));*/
     }
     
     private void verifyBackChannelSend(Conduit backChannel,
@@ -558,10 +532,7 @@
         OutputStream responseOS = outMsg.getContent(OutputStream.class);
         assertNotNull("expected output stream", responseOS);
         assertTrue("unexpected output stream type",
-                   responseOS instanceof AbstractCachedOutputStream);
-        assertEquals("expected commit",
-                     1,
-                     response.getCommitCallCount());
+                   responseOS instanceof AbstractCachedOutputStream);        
         
         outMsg.put(Message.RESPONSE_CODE, status);          
         responseOS.write(PAYLOAD.getBytes());
@@ -571,44 +542,28 @@
         OutputStream underlyingOS =
             ((AbstractCachedOutputStream)responseOS).getOut();
         assertTrue("unexpected underlying output stream type",
-                   underlyingOS instanceof ByteArrayOutputStream);
-        assertEquals("expected getOutputStream",
-                     0,
-                     response.getOutputStreamCallCount());
+                   underlyingOS instanceof ByteArrayOutputStream);       
         outMsg.getExchange().setOneWay(oneway);
         responseOS.flush();
-        assertEquals("expected setStatus",
-                     1,
-                     response.getStatusCallCount());
+      
         assertEquals("unexpected status",
                      status,
                      response.getStatus());
-        if (status == 500) {
-            assertEquals("unexpected status message",
-                         "Internal Server Error",
-                         response.getReason());
-        }
+        
         verifyResponseHeaders(outMsg);
-        assertEquals("expected getOutputStream",
-                     1,
-                     response.getOutputStreamCallCount());
+        
         underlyingOS = ((AbstractCachedOutputStream)responseOS).getOut();
         assertFalse("unexpected underlying output stream type: "
                     + underlyingOS.getClass(),
                     underlyingOS instanceof ByteArrayOutputStream);
-        assertEquals("expected commit",
-                     oneway ? 2 : 1,
-                     response.getCommitCallCount());
+       
         if (oneway) {
             assertNull("unexpected HTTP response",
                        outMsg.get(JettyHTTPDestination.HTTP_RESPONSE));
         } else {
             assertNotNull("expected HTTP response",
                            outMsg.get(JettyHTTPDestination.HTTP_RESPONSE));
-            responseOS.close();
-            assertEquals("expected commit",
-                         2,
-                         response.getCommitCallCount());
+            responseOS.close();            
         }
     }
     

Modified: incubator/cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/https/HttpsURLConnectionFactoryTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/https/HttpsURLConnectionFactoryTest.java?view=diff&rev=518627&r1=518626&r2=518627
==============================================================================
--- incubator/cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/https/HttpsURLConnectionFactoryTest.java (original)
+++ incubator/cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/https/HttpsURLConnectionFactoryTest.java Thu Mar 15 06:44:47 2007
@@ -27,8 +27,6 @@
 
 import junit.framework.TestCase;
 
-import org.apache.cxf.configuration.security.FiltersType;
-import org.apache.cxf.configuration.security.ObjectFactory;
 import org.apache.cxf.configuration.security.SSLClientPolicy;
 
 
@@ -37,11 +35,6 @@
     protected static final String DROP_BACK_SRC_DIR = 
         "../../../../../../../"
         + "src/test/java/org/apache/cxf/transport/https/";
-    
-    private static final String[] EXPORT_CIPHERS =
-    {"SSL_RSA_WITH_NULL_MD5", "SSL_RSA_EXPORT_WITH_RC4_40_MD5", "SSL_RSA_WITH_DES_CBC_SHA"};
-    private static final String[] NON_EXPORT_CIPHERS =
-    {"SSL_RSA_WITH_RC4_128_MD5", "SSL_RSA_WITH_3DES_EDE_CBC_SHA"};
 
     private TestHttpsURLConnection connection;
     
@@ -131,7 +124,7 @@
     */
 
     public void testSetAllData() throws Exception {
-        
+
         String keyStoreStr = getPath("resources/defaultkeystore");
         SSLClientPolicy sslClientPolicy = new SSLClientPolicy();
         sslClientPolicy.setKeystore(keyStoreStr);
@@ -148,13 +141,7 @@
         sslClientPolicy.setCertValidator("Anything");
         sslClientPolicy.setProxyHost("Anything");
         sslClientPolicy.setProxyPort(new Long(1234));
-        for (int i = 0; i < EXPORT_CIPHERS.length; i++) {
-            sslClientPolicy.getCiphersuites().add(EXPORT_CIPHERS[i]);
-        }
-        for (int i = 0; i < NON_EXPORT_CIPHERS.length; i++) {
-            sslClientPolicy.getCiphersuites().add(NON_EXPORT_CIPHERS[i]);
-        }
-        
+
         String trustStoreStr = getPath("resources/defaulttruststore");
         sslClientPolicy.setTrustStore(trustStoreStr);
         TestLogHandler handler = new TestLogHandler();
@@ -195,16 +182,8 @@
                                     + "algorithm has not been set in configuration "
                                     + "so the default value PKIX will be used."));
 
-        assertFalse("Ciphersuites config not picked up", handler
-            .checkLogContainsString("The cipher suites have not been configured, " 
-                                    + "default values will be used."));        
-        assertFalse("Unexpected included ciphersuite filter",
-                   handler.checkLogContainsString("suite is included by the filter."));
-        assertFalse("Unexpected excluded ciphersuite fuilter",
-                   handler.checkLogContainsString("suite is excluded by the filter."));
-        assertFalse("Unexpected ciphersuite filtering",
-                   handler.checkLogContainsString("The enabled cipher suites have been filtered down to"));
-        
+        assertTrue("Ciphersuites is being being read from somewhere unknown", handler
+            .checkLogContainsString("The cipher suite has not been set, default values " + "will be used."));
         assertTrue("Truststore type not being read", handler
             .checkLogContainsString("The key store type has been set in " + "configuration to JKS"));
 
@@ -218,100 +197,6 @@
             .checkLogContainsString("Unsupported SSLClientPolicy property : MaxChainLength"));
         assertTrue("CertValidator caching set but no warning about not supported", handler
             .checkLogContainsString("Unsupported SSLClientPolicy property : CertValidator"));
-    }
-    
-    public void testDefaultedCipherSuiteFilters() throws Exception {
-        
-        String keyStoreStr = getPath("resources/defaultkeystore");
-        SSLClientPolicy sslClientPolicy = new SSLClientPolicy();
-        sslClientPolicy.setKeystore(keyStoreStr);
-        sslClientPolicy.setKeystoreType("JKS");
-
-        sslClientPolicy.setKeyPassword("defaultkeypass");
-        sslClientPolicy.setKeystorePassword("defaultkeypass");
-        sslClientPolicy.setTrustStoreType("JKS");
-        sslClientPolicy.setSecureSocketProtocol("TLSv1");
-
-        String trustStoreStr = getPath("resources/defaulttruststore");
-        sslClientPolicy.setTrustStore(trustStoreStr);
-        TestLogHandler handler = new TestLogHandler();
-        HttpsURLConnectionFactory factory = createFactory(sslClientPolicy,
-                                                          "https://dummyurl",
-                                                          handler);
-
-        factory.decorate(connection);
-
-        assertTrue("Ciphersuites is being being read from somewhere unknown", 
-                   handler.checkLogContainsString("The cipher suites have not been configured," 
-                                                  + " falling back to cipher suite filters."));
-        assertTrue("Expected defaulted ciphersuite filters", 
-                   handler.checkLogContainsString("The cipher suite filters have not been configured,"
-                                                  + " falling back to default filters."));
-        for (int i = 0; i < EXPORT_CIPHERS.length; i++) {
-            assertTrue("Expected included ciphersuite not included: " + EXPORT_CIPHERS[i],
-                       handler.checkLogContainsString(EXPORT_CIPHERS[i]
-                                                      + " cipher suite is included by the filter."));
-        }
-        for (int i = 0; i < NON_EXPORT_CIPHERS.length; i++) {
-            assertTrue("Expected excluded ciphersuite not included: " + NON_EXPORT_CIPHERS[i],
-                       handler.checkLogContainsString(NON_EXPORT_CIPHERS[i]
-                                                      + " cipher suite is excluded by the filter."));
-        }
-        assertTrue("Expected excluded ciphersuite not included",
-                   handler.checkLogContainsString("The enabled cipher suites have been filtered down to")); 
-        
-    }
-    
-    public void testNonDefaultedCipherSuiteFilters() throws Exception {
-        
-        String keyStoreStr = getPath("resources/defaultkeystore");
-        SSLClientPolicy sslClientPolicy = new SSLClientPolicy();
-        sslClientPolicy.setKeystore(keyStoreStr);
-        sslClientPolicy.setKeystoreType("JKS");
-
-        sslClientPolicy.setKeyPassword("defaultkeypass");
-        sslClientPolicy.setKeystorePassword("defaultkeypass");
-        sslClientPolicy.setTrustStoreType("JKS");
-        sslClientPolicy.setSecureSocketProtocol("TLSv1");
-
-        // reverse default sense of include/exlcude
-        FiltersType filters = new ObjectFactory().createFiltersType();
-        for (int i = 0; i < NON_EXPORT_CIPHERS.length; i++) {
-            filters.getInclude().add(NON_EXPORT_CIPHERS[i]);
-        }
-        for (int i = 0; i < EXPORT_CIPHERS.length; i++) {
-            filters.getExclude().add(EXPORT_CIPHERS[i]);
-        }
-        sslClientPolicy.setCiphersuiteFilters(filters);
-        
-        String trustStoreStr = getPath("resources/defaulttruststore");
-        sslClientPolicy.setTrustStore(trustStoreStr);
-        TestLogHandler handler = new TestLogHandler();
-        HttpsURLConnectionFactory factory = createFactory(sslClientPolicy,
-                                                          "https://dummyurl",
-                                                          handler);
-
-        factory.decorate(connection);
-
-        assertTrue("Ciphersuites is being being read from somewhere unknown",
-                   handler.checkLogContainsString("The cipher suites have not been configured," 
-                                                  + " falling back to cipher suite filters."));
-        assertFalse("Unexpected defaulted ciphersuite filters", 
-                     handler.checkLogContainsString("The cipher suite filters have not been configured,"
-                                                    + " falling back to default filters."));
-        for (int i = 0; i < NON_EXPORT_CIPHERS.length; i++) {
-            assertTrue("Expected included ciphersuite not included: " + NON_EXPORT_CIPHERS[i],
-                       handler.checkLogContainsString(NON_EXPORT_CIPHERS[i]
-                                                      + " cipher suite is included by the filter."));
-        }
-        for (int i = 0; i < EXPORT_CIPHERS.length; i++) {
-            assertTrue("Expected excluded ciphersuite not included: " + EXPORT_CIPHERS[i],
-                       handler.checkLogContainsString(EXPORT_CIPHERS[i]
-                                                      + " cipher suite is excluded by the filter."));
-        }
-        assertTrue("Expected excluded ciphersuite not included",
-                   handler.checkLogContainsString("The enabled cipher suites have been filtered down to")); 
-        
     }
 
     public void testAllValidDataJKS() throws Exception {

Modified: incubator/cxf/trunk/systests/pom.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/pom.xml?view=diff&rev=518627&r1=518626&r2=518627
==============================================================================
--- incubator/cxf/trunk/systests/pom.xml (original)
+++ incubator/cxf/trunk/systests/pom.xml Thu Mar 15 06:44:47 2007
@@ -102,7 +102,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.cxf</groupId>
-            <artifactId>cxf-rt-transports-http2</artifactId>
+            <artifactId>cxf-rt-transports-http</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>



Mime
View raw message