Newer
Older
CollabUnit / src / main / uk / org / floop / collabunit / CollabRunner.java
/*
 * Created on Sep 7, 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.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
 *
 * TODO To change the template for this generated type comment go to
 * 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 void testStarted(String testName) {
		// TODO Auto-generated method stub

	}

	/* (non-Javadoc)
	 * @see junit.runner.BaseTestRunner#testEnded(java.lang.String)
	 */
	public void testEnded(String testName) {
		// TODO Auto-generated method stub

	}

	/**
	 * 
	 */
	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)
	 * @see junit.runner.BaseTestRunner#testFailed(int, junit.framework.Test, java.lang.Throwable)
	 */
	public void testFailed(int status, Test test, Throwable t) {
		// TODO Auto-generated method stub

	}

	/* (non-Javadoc)
	 * @see junit.runner.BaseTestRunner#runFailed(java.lang.String)
	 */
	protected void runFailed(String message) {
		// TODO Auto-generated method stub

	}

	/**
	 * @param test
	 * @return
	 */
	public boolean runTest(Test test)
	{
		test.run(results);
		TestResultsService.setResults(results);
		return results.wasSuccessful();
	}
}