Package net.jsunit

Source Code of net.jsunit.DistributedTestSuiteBuilderTest

package net.jsunit;

import junit.framework.TestCase;
import junit.framework.TestSuite;
import net.jsunit.configuration.DummyConfigurationSource;
import net.jsunit.configuration.ServerConfiguration;
import net.jsunit.configuration.ServerType;
import net.jsunit.configuration.StubConfigurationSource;
import org.jdom.Document;

public class DistributedTestSuiteBuilderTest extends TestCase {
    private DistributedTestSuiteBuilder builder;

    protected void setUp() throws Exception {
        super.setUp();
        DummyConfigurationSource originalSource = new DummyConfigurationSource();
        MockRemoteServerHitter 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 testBuildSuite() 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());

        assertEquals(3, aSuite.testCount());

        DistributedTest testForURL3 = (DistributedTest) aSuite.testAt(0);
        assertEquals("his\u00B7machine\u00B7com:7070 - aggregate server with 2 remote machine(s)", testForURL3.getName());

        TestSuite suiteForURL1 = (TestSuite) aSuite.testAt(1);
        assertEquals("my\u00B7machine\u00B7com:8080 - server with 2 browser(s)", suiteForURL1.getName());
        assertEquals(2, suiteForURL1.testCount());
        DistributedTest testForBrowser1OnURL1 = (DistributedTest) suiteForURL1.testAt(0);
        DistributedTest testForBrowser2OnURL1 = (DistributedTest) suiteForURL1.testAt(1);
        assertEquals("browser1.exe", testForBrowser1OnURL1.getName());
        assertEquals("browser2.exe", testForBrowser2OnURL1.getName());

        TestSuite suiteForURL2 = (TestSuite) aSuite.testAt(2);
        assertEquals("your\u00B7machine\u00B7com:9090 - server with 3 browser(s)", suiteForURL2.getName());
        assertEquals(3, suiteForURL2.testCount());
        DistributedTest testForBrowser3OnURL2 = (DistributedTest) suiteForURL2.testAt(0);
        DistributedTest testForBrowser4OnURL2 = (DistributedTest) suiteForURL2.testAt(1);
        DistributedTest testForBrowser5OnURL2 = (DistributedTest) suiteForURL2.testAt(2);
        assertEquals("browser3.exe", testForBrowser3OnURL2.getName());
        assertEquals("browser4.exe", testForBrowser4OnURL2.getName());
        assertEquals("browser5.exe", testForBrowser5OnURL2.getName());
    }

    private Document remoteConfiguration1XmlDocument() {
        ServerConfiguration configuration = new ServerConfiguration(new StubConfigurationSource() {
            public String browserFileNames() {
                return "browser1.exe,browser2.exe";
            }
        });
        return new Document(configuration.asXml());
    }

    private Document remoteConfiguration2XmlDocument() {
        ServerConfiguration configuration = new ServerConfiguration(new StubConfigurationSource() {
            public String browserFileNames() {
                return "browser3.exe,browser4.exe,browser5.exe";
            }
        });
        return new Document(configuration.asXml());
    }

    private Document remoteConfiguration3XmlDocument() {
        ServerConfiguration configuration = new ServerConfiguration(new StubConfigurationSource() {
            public String remoteMachineURLs() {
                return "http://machine4:6060/jsunit,http://machine5:5050/jsunit";
            }

        }) {
            public ServerType getServerType() {
                return ServerType.AGGREGATE;
            }
        };
        return new Document(configuration.asXml());
    }

}
TOP

Related Classes of net.jsunit.DistributedTestSuiteBuilderTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.