package net.jsunit; import junit.framework.TestCase; import junit.framework.TestSuite; import net.jsunit.configuration.Configuration; import net.jsunit.configuration.ServerType; import org.jdom.Document; public class DistributedTestSuiteBuilderTest extends TestCase { private DummyConfigurationSource originalSource; private MockRemoteServerHitter mockHitter; private DistributedTestSuiteBuilder builder; protected void setUp() throws Exception { super.setUp(); originalSource = new DummyConfigurationSource(); mockHitter = new MockRemoteServerHitter(); originalSource.setNeeds3rdRemoteMachineURL(); mockHitter.urlToDocument.put(DummyConfigurationSource.REMOTE_URL_1 + "/config", remoteConfiguration1XmlDocument()); mockHitter.urlToDocument.put(DummyConfigurationSource.REMOTE_URL_2 + "/config", remoteConfiguration2XmlDocument()); mockHitter.urlToDocument.put(DummyConfigurationSource.REMOTE_URL_3 + "/config", remoteConfiguration3XmlDocument()); builder = new DistributedTestSuiteBuilder(originalSource, mockHitter); } public void testSimple() throws Exception { TestSuite aSuite = new TestSuite(); builder.addTestsTo(aSuite); assertEquals(3, builder.getRemoteMachineURLCount()); assertEquals(5, builder.getBrowserCount()); assertEquals("JsUnit Tests (3 machines, 5 direct browsers)", aSuite.getName()); } private Document remoteConfiguration1XmlDocument() { Configuration configuration = new Configuration(new StubConfigurationSource() { public String browserFileNames() { return "browser1.exe,browser2.exe"; } }); return new Document(configuration.asXml(ServerType.STANDARD)); } private Document remoteConfiguration2XmlDocument() { Configuration configuration = new Configuration(new StubConfigurationSource() { public String browserFileNames() { return "browser3.exe,browser4.exe,browser5"; } }); return new Document(configuration.asXml(ServerType.STANDARD)); } private Document remoteConfiguration3XmlDocument() { Configuration configuration = new Configuration(new StubConfigurationSource() { public String remoteMachineURLs() { return "http://machine4:6060/jsunit"; } }); return new Document(configuration.asXml(ServerType.FARM)); } }