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>
}}}