Added simple webserver.
1 parent 2aeaae5 commit 252035906f7675647900a203bc722d887e7fbff8
@Alex Tucker Alex Tucker authored on 5 Nov 2004
Showing 5 changed files
View
lib/simple-core-2.5.3.jar 0 → 100644
Not supported
View
39
src/main/uk/org/floop/collabunit/CollabRunner.java
* Window - Preferences - Java - Code Style - Code Templates
*/
package uk.org.floop.collabunit;
 
import java.io.IOException;
import java.net.ServerSocket;
 
import junit.framework.Test;
import junit.framework.TestResult;
import junit.runner.BaseTestRunner;
import simple.http.ProtocolHandler;
import simple.http.connect.Connection;
import simple.http.connect.ConnectionFactory;
import simple.http.load.LoaderEngine;
import simple.http.load.LoadingException;
import simple.http.serve.HandlerFactory;
 
/**
* @author alex
*
* Window - Preferences - Java - Code Style - Code Templates
*/
public class CollabRunner extends BaseTestRunner {
 
/*
*/
private TestResult results;
 
/* (non-Javadoc)
* @see junit.runner.BaseTestRunner#testStarted(java.lang.String)
 
/**
*
*/
public CollabRunner() {
public CollabRunner(String path, int port) {
try {
LoaderEngine engine = new LoaderEngine();
engine.load("results", "uk.org.floop.collabunit.TestResultsService");
engine.link(path, "results");
ProtocolHandler handler = HandlerFactory.getInstance(engine);
Connection connection = ConnectionFactory.getConnection(handler);
connection.connect(new ServerSocket(port));
} catch (IOException e) {
e.printStackTrace();
} catch (LoadingException e) {
e.printStackTrace();
}
results = new TestResult();
results.addListener(this);
}
/* (non-Javadoc)
*/
public boolean runTest(Test test)
{
test.run(results);
TestResultsService.setResults(results);
return results.wasSuccessful();
}
}
View
69
src/main/uk/org/floop/collabunit/TestResultsService.java 0 → 100644
/*
* Created on Nov 3, 2004
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package uk.org.floop.collabunit;
 
import java.io.PrintStream;
import java.util.Enumeration;
 
import junit.framework.TestCase;
import junit.framework.TestFailure;
import junit.framework.TestResult;
import simple.http.Request;
import simple.http.Response;
import simple.http.load.BasicService;
import simple.http.serve.Context;
 
/**
* @author alex
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class TestResultsService extends BasicService {
 
static private TestResult results;
static public void setResults(TestResult results) {
TestResultsService.results = results;
}
public TestResultsService(Context context) {
super(context);
}
 
/* (non-Javadoc)
* @see simple.http.serve.BasicResource#process(simple.http.Request, simple.http.Response)
*/
protected void process(Request request, Response response) throws Exception {
request.set("Content-Type", "application/rdf+xml");
PrintStream out = response.getPrintStream();
out.println("<rdf:RDF xmlns='http://www.floop.org.uk/ontoloties/2004/11/collabunit#'>");
if (results != null) {
for (Enumeration i = results.errors(); i.hasMoreElements();) {
TestFailure failure = (TestFailure)i.nextElement();
if (failure.failedTest() instanceof TestCase) {
out.println(" <TestError rdf:about='urn:testerror:" + failure.failedTest().getClass().getName() + ":" + ((TestCase)failure.failedTest()).getName() + "'>");
out.println(" <reason>" + failure.exceptionMessage() + "</reason>");
out.println(" </TestError>");
}
}
for (Enumeration j = results.failures(); j.hasMoreElements();) {
TestFailure failure = (TestFailure)j.nextElement();
if (failure.failedTest() instanceof TestCase) {
out.println(" <TestFailure rdf:about='urn:testfailure:" + failure.failedTest().getClass().getName() + ":" + ((TestCase)failure.failedTest()).getName() + "'>");
out.println(" <reason>" + failure.exceptionMessage() + "</reason>");
out.println(" </TestFailure>");
}
}
}
out.println("</rdf:RDF>");
out.close();
}
 
}
View
src/tests/uk/org/floop/collabunit/CollabRunnerTest.java
View
src/tests/uk/org/floop/collabunit/DummyTest.java