Das [HttpUnitProtocol] ist ein Protocol für die [ProtocolFactory] für die Integration der [HttpUnit|http://en.wikipedia.org/wiki/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>
}}}