package net.jsunit;
import net.jsunit.configuration.ServerConfiguration;
import net.jsunit.configuration.StubConfigurationSource;
import net.jsunit.model.Browser;
import net.jsunit.utility.FileUtility;
public class TwoValidLocalhostsDistributedTestTest extends EndToEndTestCase {
private JsUnitServer secondServer;
private int otherPort;
public void setUp() throws Exception {
super.setUp();
otherPort = new TestPortManager().newPort();
secondServer = new JsUnitServer(new ServerConfiguration(secondServerSource()));
secondServer.start();
}
protected void tearDown() throws Exception {
if (secondServer != null)
secondServer.dispose();
super.tearDown();
}
protected StubConfigurationSource serverSource() {
return new StubConfigurationSource() {
public String browserFileNames() {
return Browser.DEFAULT_SYSTEM_BROWSER;
}
public String remoteMachineURLs() {
return "http://localhost:" + port + ", http://localhost:" + otherPort;
}
public String url() {
return "http://localhost:" + port + "/jsunit/testRunner.html?"
+ "testPage=http://localhost:" + port + "/jsunit/tests/jsUnitUtilityTests.html&autoRun=true&submitresults=true";
}
public String port() {
return String.valueOf(port);
}
public String resourceBase() {
return FileUtility.jsUnitPath().getAbsolutePath();
}
};
}
protected StubConfigurationSource secondServerSource() {
return new StubConfigurationSource() {
public String browserFileNames() {
return Browser.DEFAULT_SYSTEM_BROWSER;
}
public String url() {
return "http://localhost:" + port + "/jsunit/testRunner.html?"
+ "testPage=http://localhost:" + port + "/jsunit/tests/jsUnitUtilityTests.html&autoRun=true&submitresults=true";
}
public String port() {
return String.valueOf(otherPort);
}
};
}
public void testSuccessfulRun() {
DistributedTest test = new DistributedTest(serverSource());
assertSuccessful(test);
assertEquals(2, test.getTestRunResults().size());
assertNull(test.getTemporaryServer());
}
}