Das HttpUnitProtocol ist ein Protocol für die ProtocolFactory für die Integration der HttpUnit. HttpUnitProtocol ist ein Bestandteil von Intersult Testing.

Anwendung#

HttpUnitProtocol ist zunächst ein Protocol, das durch einen einfachen Aufruf mit der ProtocolFactory aktiviert wird.

Damit können WAR-Projekte direkt getestet werden, ohne über das TCP/IP-System zu gehen. Es wird eine direkte Stream-Verbindung (java.io) zwischen dem Aufrufer und dem Servlet hergestellt. Die Server-Komponenten können dabei direkt über die web.xml definiert werden, sodass ein WAR-Projekt direkt aufgerufen werden kann.

Das HttpUnitProtocol kann für die Konfiguration von anderen Komponenten wie Abraxas verwendet werden.

Beispiele#

Echo-Servlet#

	String message = "Hello World!";
	URL url = new URL("unit://localhost/echo");
	HttpUnitConnection connection = (HttpUnitConnection)url.openConnection();
	connection.setDoOutput(true);
	connection.addRequestProperty("Content-Type", "text/xml");
	IOUtils.write(connection.getOutputStream(), message);
	String response = IOUtils.readString(connection.getInputStream());
	Assert.assertEquals(message, response);

Und in der web.xml:

    <servlet>
        <servlet-name>EchoServlet</servlet-name>
        <servlet-class>com.intersult.testing.EchoServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    	<servlet-name>EchoServlet</servlet-name>
    	<url-pattern>/echo</url-pattern>
    </servlet-mapping>