Ignore:
Timestamp:
02/21/14 19:27:26 (10 years ago)
Author:
pharms
Message:
  • correct 2 bugs: one an implementation bug in encoding queries in the Jetty HTML client and another one when proxying CXF SOAP exchanges where the server is deployed in a tomcat.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/autoquest-httpmonitor-test/src/test/java/de/ugoe/cs/autoquest/httpmonitor/HttpMonitorTest.java

    r1390 r1392  
    2222import java.io.File; 
    2323import java.io.StringWriter; 
     24import java.net.URL; 
    2425import java.util.Collection; 
    2526import java.util.Iterator; 
     
    2829import javax.xml.bind.JAXBContext; 
    2930import javax.xml.bind.Marshaller; 
     31import javax.xml.namespace.QName; 
    3032 
    3133import org.apache.http.HttpEntity; 
     
    4648import de.ugoe.cs.autoquest.plugin.http.eventcore.HTTPEventType; 
    4749import de.ugoe.cs.autoquest.plugin.http.eventcore.HTTPTarget; 
     50import dummyservice.DummyService; 
     51import dummyservice.DummyServicePortType; 
     52import dummyservice.VerifyUserInMsgType; 
     53import dummyservice.VerifyUserOutMsgType; 
    4854 
    4955/** 
     
    201207        assertEquals(1, sequence.size()); 
    202208 
    203         assertNotNull(sequence.get(0)); 
    204         assertNotNull(sequence.get(0).getType()); 
    205         assertTrue(sequence.get(0).getType() instanceof HTTPEventType); 
    206  
    207         assertNotNull(sequence.get(0).getTarget()); 
    208         assertTrue(sequence.get(0).getTarget() instanceof HTTPTarget); 
    209  
    210         HttpExchange exchange = ((HTTPEventType) sequence.get(0).getType()).getExchange(); 
    211          
    212         assertEquals(message, exchange.getRequest().getContent().getData()); 
    213         assertEquals(response, exchange.getResponse().getContent().getData()); 
     209        assertEvent(sequence.get(0), "POST", message, response); 
    214210    } 
    215211 
     
    295291        assertEquals(1, sequence.size()); 
    296292 
    297         assertNotNull(sequence.get(0)); 
    298         assertNotNull(sequence.get(0).getType()); 
    299         assertTrue(sequence.get(0).getType() instanceof HTTPEventType); 
    300  
    301         assertNotNull(sequence.get(0).getTarget()); 
    302         assertTrue(sequence.get(0).getTarget() instanceof HTTPTarget); 
    303  
    304         HttpExchange exchange = ((HTTPEventType) sequence.get(0).getType()).getExchange(); 
    305          
    306         assertEquals(message, exchange.getRequest().getContent().getData()); 
    307         assertEquals(response, exchange.getResponse().getContent().getData()); 
     293        assertEvent(sequence.get(0), "POST", message, response); 
     294    } 
     295 
     296    @Test 
     297    public void test_SOAP_ProxyAndMonitor() throws Exception { 
     298        monitor = new HttpMonitor(new String[] { LOG_FILE_DIR, MONITOR_PORT + "" }); 
     299 
     300        monitor.init(); 
     301        monitor.start(); 
     302 
     303        proxy = new HttpMonitoringProxy 
     304            (new String[] { LOG_FILE_DIR, PROXY_PORT + "", 
     305                            "localhost:" + DUMMY_SERVER_PORT, "localhost:" + MONITOR_PORT }); 
     306 
     307        proxy.init(); 
     308        proxy.start(); 
     309 
     310        DummyService service = new DummyService 
     311            (new URL("http://localhost:" + PROXY_PORT + "/dummyWebapp/DummyServiceSOAPPort?wsdl"), 
     312             new QName("DummyService", "DummyService")); 
     313 
     314        DummyServicePortType dummyService = service.getDummyServiceSOAPPort(); 
     315         
     316        dummyservice.ObjectFactory factory = new dummyservice.ObjectFactory(); 
     317        VerifyUserInMsgType request = factory.createVerifyUserInMsgType(); 
     318        VerifyUserOutMsgType response = dummyService.verifyUser(request); 
     319 
     320        assertNotNull(response); 
     321         
     322        // the monitor needs some time to receive the exchange --> give it 
     323        Thread.sleep(1000); 
     324         
     325        monitor.stop(); 
     326        monitor = null; 
     327 
     328        File logFile = new File(LOG_FILE_DIR + File.separator + "httpmonitor_000.log"); 
     329         
     330        assertTrue(logFile.exists()); 
     331         
     332        HTTPLogParser parser = new HTTPLogParser(); 
     333 
     334        parser.parseFile(logFile); 
     335 
     336        // check the sequences 
     337        Collection<List<Event>> sequences = parser.getSequences(); 
     338 
     339        assertNotNull(sequences); 
     340 
     341        Iterator<List<Event>> iterator = sequences.iterator(); 
     342        assertTrue(iterator.hasNext()); 
     343 
     344        List<Event> sequence = iterator.next(); 
     345        assertFalse(iterator.hasNext()); 
     346 
     347        assertNotNull(sequence); 
     348        assertEquals(2, sequence.size()); 
     349 
     350        assertEvent(sequence.get(0), "GET", null, null); // get WSDL 
     351        assertEvent(sequence.get(1), "POST", null, null); // send request 
    308352    } 
    309353     
Note: See TracChangeset for help on using the changeset viewer.