K3PO is a network driver and language agnostic testing tool. It is designed to be able to create arbitrary network traffic and behavior, and to certify whether a network endpoint behaves correctly when subject to that behavior.
The network behavior that the K3PO network driver creates is specified in a K3PO scripting language. This language is described here.
The K3PO network driver can be directed to start emulating behavior defined in scripts via a [control protocol](Control Protocol). Test frameworks in various programming languages can then utilize the control protocol to leverage K3PO for their own testing needs.
K3PO also consists of a collection of specifications that validate correctness for a variety of public protocols, such as HTTP (RFC 7230-7237), WebSocket (RFC-6455), etc.
K3PO is language agnostic and can be used by many different languages and test frameworks. The Java JUnit framework is located in this project. Other frameworks include:
Documentation is located on the Wiki
The examples directory is setup as an example to test java client implementations. Run "mvn clean install -pl examples" to see it work.