package net.jsunit;
import junit.framework.TestCase;
import net.jsunit.model.BrowserResult;
import net.jsunit.model.ResultType;
import net.jsunit.model.TestRunResult;
import net.jsunit.utility.XmlUtility;
import java.net.URL;
public class TestRunResultTest extends TestCase {
private TestRunResult testRunResult;
protected void setUp() throws Exception {
super.setUp();
testRunResult = new TestRunResult(new URL("http://www.example.com"));
}
public void testSuccess() throws Exception {
testRunResult.addBrowserResult(successResult());
testRunResult.addBrowserResult(successResult());
assertTrue(testRunResult.wasSuccessful());
assertEquals(0, testRunResult.getErrorCount());
assertEquals(0, testRunResult.getFailureCount());
assertFalse(testRunResult.wasUnresponsive());
}
public void testFailuresAndErrors() throws Exception {
testRunResult.addBrowserResult(failureResult());
assertFalse(testRunResult.wasSuccessful());
assertEquals(0, testRunResult.getErrorCount());
assertEquals(1, testRunResult.getFailureCount());
testRunResult.addBrowserResult(failureResult());
assertFalse(testRunResult.wasSuccessful());
assertEquals(0, testRunResult.getErrorCount());
assertEquals(2, testRunResult.getFailureCount());
testRunResult.addBrowserResult(errorResult());
assertFalse(testRunResult.wasSuccessful());
assertEquals(1, testRunResult.getErrorCount());
assertEquals(2, testRunResult.getFailureCount());
}
public void testAsXml() throws Exception {
testRunResult.addBrowserResult(successResult());
testRunResult.addBrowserResult(failureResult());
testRunResult.addBrowserResult(errorResult());
testRunResult.setOsString("my cool os");
testRunResult.setIpAddress("127.0.0.1");
testRunResult.setHostname("machine.example.com");
testRunResult.setURL(new URL("http://www.example.com"));
assertEquals(
"<testRunResult type=\"ERROR\" url=\"http://www.example.com\">" +
"<properties>" +
"<property name=\"os\" value=\"my cool os\" />" +
"<property name=\"ipAddress\" value=\"127.0.0.1\" />" +
"<property name=\"hostname\" value=\"machine.example.com\" />" +
"</properties>" +
successResult().asXmlFragment() +
failureResult().asXmlFragment() +
errorResult().asXmlFragment() +
"</testRunResult>",
XmlUtility.asString(testRunResult.asXml())
);
}
public void testUnresponsive() throws Exception {
testRunResult.setUnresponsive();
assertTrue(testRunResult.wasUnresponsive());
assertEquals(ResultType.UNRESPONSIVE, testRunResult.getResultType());
assertEquals(
"<testRunResult type=\"UNRESPONSIVE\" url=\"http://www.example.com\" />",
XmlUtility.asString(testRunResult.asXml())
);
}
public void testAsXmlWithNoUrl() throws Exception {
TestRunResult result = new TestRunResult();
assertEquals("<testRunResult type=\"SUCCESS\" />", XmlUtility.asString(result.asXml()));
}
private BrowserResult successResult() {
BrowserResult browserResult = new BrowserResult();
browserResult.setId("foo");
return browserResult;
}
private BrowserResult failureResult() {
DummyBrowserResult dummyBrowserResult = new DummyBrowserResult(false, 1, 0);
dummyBrowserResult.setId("foo");
return dummyBrowserResult;
}
private BrowserResult errorResult() {
DummyBrowserResult dummyBrowserResult = new DummyBrowserResult(false, 0, 1);
dummyBrowserResult.setId("foo");
return dummyBrowserResult;
}
}