Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'tests/bundles/org.eclipse.ecf.tests.discovery/src/org/eclipse/ecf/tests/discovery/DiscoveryTest.java')
-rwxr-xr-xtests/bundles/org.eclipse.ecf.tests.discovery/src/org/eclipse/ecf/tests/discovery/DiscoveryTest.java82
1 files changed, 63 insertions, 19 deletions
diff --git a/tests/bundles/org.eclipse.ecf.tests.discovery/src/org/eclipse/ecf/tests/discovery/DiscoveryTest.java b/tests/bundles/org.eclipse.ecf.tests.discovery/src/org/eclipse/ecf/tests/discovery/DiscoveryTest.java
index 97f719979..84ce344f7 100755
--- a/tests/bundles/org.eclipse.ecf.tests.discovery/src/org/eclipse/ecf/tests/discovery/DiscoveryTest.java
+++ b/tests/bundles/org.eclipse.ecf.tests.discovery/src/org/eclipse/ecf/tests/discovery/DiscoveryTest.java
@@ -18,6 +18,7 @@ import java.util.Properties;
import org.eclipse.core.runtime.AssertionFailedException;
import org.eclipse.ecf.core.ContainerConnectException;
import org.eclipse.ecf.core.ContainerFactory;
+import org.eclipse.ecf.core.IContainer;
import org.eclipse.ecf.core.identity.IDCreateException;
import org.eclipse.ecf.core.identity.IDFactory;
import org.eclipse.ecf.core.identity.Namespace;
@@ -43,25 +44,70 @@ public abstract class DiscoveryTest extends AbstractDiscoveryTest {
protected IServiceInfo serviceInfo3;
protected IServiceID serviceID3;
- /**
- * @param name
- * @param aDiscoveryContainerInterval
- * @param aComparator
- */
- public DiscoveryTest(String name, long aDiscoveryContainerInterval, Comparator aComparator) {
- containerUnderTest = name;
- comparator = aComparator;
- // interval how often the provider discovers for services + 1/10 * discoveryInterval
- waitTimeForProvider = aDiscoveryContainerInterval + (aDiscoveryContainerInterval * 1 / 2);
+ protected String containerUnderTest;
+ protected long waitTimeForProvider = 1000;
+ protected Comparator comparator = new ServiceInfoComparator();
+ private String protocol = PROTOCOL;
+ private String scope = SCOPE;
+ private String namingAuthority = NAMINGAUTHORITY;
+
+ protected IContainer container = null;
+ protected IDiscoveryContainerAdapter discoveryContainer = null;
+
+
+ public DiscoveryTest(String name) {
+ super();
+ this.containerUnderTest = name;
+ }
+
+ protected IDiscoveryContainerAdapter getAdapter(Class clazz) {
+ final IDiscoveryContainerAdapter adapter = (IDiscoveryContainerAdapter) container.getAdapter(clazz);
+ assertNotNull("Adapter must not be null", adapter);
+ return adapter;
+ }
+
+ protected IServiceID createServiceID(String serviceType, String serviceName) throws Exception {
+ return ServiceIDFactory.getDefault().createServiceID(discoveryContainer.getServicesNamespace(), serviceType, serviceName);
+ }
+
+ protected void registerService(IServiceInfo serviceInfo) throws Exception {
+ assertNotNull(serviceInfo);
+ assertNotNull(discoveryContainer);
+ discoveryContainer.registerService(serviceInfo);
}
- public DiscoveryTest(String name, long aDiscoveryContainerInterval) {
- this(name, aDiscoveryContainerInterval, new ServiceInfoComparator());
+ protected void unregisterService(IServiceInfo serviceInfo) throws Exception {
+ assertNotNull(serviceInfo);
+ assertNotNull(discoveryContainer);
+ discoveryContainer.unregisterService(serviceInfo);
+ }
+
+ public void setWaitTimeForProvider(long aWaitTimeForProvider) {
+ this.waitTimeForProvider = aWaitTimeForProvider + (aWaitTimeForProvider * 1 / 2);
+ }
+
+ public void setComparator(Comparator comparator) {
+ this.comparator = comparator;
+ }
+
+ public void setProtocol(String protocol) {
+ this.protocol = protocol;
+ }
+
+ public void setScope(String scope) {
+ this.scope = scope;
+ }
+
+ public void setNamingAuthority(String namingAuthority) {
+ this.namingAuthority = namingAuthority;
+ }
+
+ public String getServiceType() {
+ return "_" + SERVICES[0] + "._" + SERVICES[1] + "._" + SERVICES[2] + "._" + protocol + "." + scope + "._" + namingAuthority;
}
/*
* (non-Javadoc)
- *
* @see junit.framework.TestCase#setUp()
*/
protected void setUp() throws Exception {
@@ -76,9 +122,9 @@ public abstract class DiscoveryTest extends AbstractDiscoveryTest {
assertNotNull(discoveryContainer);
final Properties props = new Properties();
- final URI uri = DiscoveryTestHelper.createDefaultURI();
+ final URI uri = createDefaultURI();
- serviceID = (IServiceID) IDFactory.getDefault().createID(discoveryContainer.getServicesNamespace(), new Object[] {DiscoveryTestHelper.SERVICE_TYPE, DiscoveryTestHelper.getHost()});
+ serviceID = (IServiceID) IDFactory.getDefault().createID(discoveryContainer.getServicesNamespace(), new Object[] {getServiceType(), getHost()});
assertNotNull(serviceID);
final ServiceProperties serviceProperties = new ServiceProperties(props);
serviceProperties.setPropertyString(DiscoveryTest.class.getName() + "servicePropertiesString", "serviceProperties");
@@ -89,14 +135,14 @@ public abstract class DiscoveryTest extends AbstractDiscoveryTest {
serviceInfo = new ServiceInfo(uri, serviceID, 0, 0, serviceProperties);
assertNotNull(serviceInfo);
- serviceID2 = (IServiceID) IDFactory.getDefault().createID(discoveryContainer.getServicesNamespace(), new Object[] {DiscoveryTestHelper.SERVICE_TYPE2, DiscoveryTestHelper.getHost()});
+ serviceID2 = (IServiceID) IDFactory.getDefault().createID(discoveryContainer.getServicesNamespace(), new Object[] {"_service._ecf._tests2._fooProtocol.fooScope._fooNA", getHost()});
assertNotNull(serviceID);
final ServiceProperties serviceProperties2 = new ServiceProperties(props);
serviceProperties2.setPropertyString("serviceProperties2", "serviceProperties2");
serviceInfo2 = new ServiceInfo(uri, serviceID2, 2, 2, serviceProperties2);
assertNotNull(serviceInfo2);
- serviceID3 = (IServiceID) IDFactory.getDefault().createID(discoveryContainer.getServicesNamespace(), new Object[] {DiscoveryTestHelper.SERVICE_TYPE3, DiscoveryTestHelper.getHost()});
+ serviceID3 = (IServiceID) IDFactory.getDefault().createID(discoveryContainer.getServicesNamespace(), new Object[] {"_service._ecf._tests3._barProtocol.barScope._barNA", getHost()});
assertNotNull(serviceID);
final ServiceProperties serviceProperties3 = new ServiceProperties(props);
serviceProperties3.setPropertyString("serviceProperties3", "serviceProperties3");
@@ -370,8 +416,6 @@ public abstract class DiscoveryTest extends AbstractDiscoveryTest {
fail("Some discovery unrelated threading issues?");
}
}
- if (i < 9)
- return;
}
assertNotNull("Test listener didn't receive discovery", testServiceListener.getEvent());
assertTrue("Container mismatch", testServiceListener.getEvent().getLocalContainerID().equals(container.getConnectedID()));

Back to the top