diff options
| author | Markus Alexander Kuppe | 2010-06-24 11:13:38 +0000 |
|---|---|---|
| committer | Markus Alexander Kuppe | 2010-06-24 11:13:38 +0000 |
| commit | e15d8251d2bcd5d4a52d1ef7605f72d3b2f42256 (patch) | |
| tree | 87fad84b56c871715062f9bc8fe430ac9c5400e0 | |
| parent | ecc0aa36a8eaaf8315d32f40f27c6ace9ba0f040 (diff) | |
| download | org.eclipse.ecf-e15d8251d2bcd5d4a52d1ef7605f72d3b2f42256.tar.gz org.eclipse.ecf-e15d8251d2bcd5d4a52d1ef7605f72d3b2f42256.tar.xz org.eclipse.ecf-e15d8251d2bcd5d4a52d1ef7605f72d3b2f42256.zip | |
NEW - bug 317798: [Discovery][DNS-SD] Create/register IDiscoveryAdvertiser container/service
https://bugs.eclipse.org/bugs/show_bug.cgi?id=317798
6 files changed, 130 insertions, 34 deletions
diff --git a/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/Activator.java b/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/Activator.java index 494f3e663..520634eff 100644 --- a/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/Activator.java +++ b/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/Activator.java @@ -52,9 +52,9 @@ public class Activator implements BundleActivator { .getService(configAdminServiceRef); Configuration config = configAdmin.createFactoryConfiguration( - DnsSdDiscoveryServiceTest.ECF_DISCOVERY_DNSSD, null); + DnsSdTestHelper.ECF_DISCOVERY_DNSSD, null); Dictionary properties = new Hashtable(); - properties.put(IDnsSdDiscoveryConstants.CA_SEARCH_PATH, new String[]{DnsSdDiscoveryServiceTest.DOMAIN}); + properties.put(IDnsSdDiscoveryConstants.CA_SEARCH_PATH, new String[]{DnsSdTestHelper.DOMAIN}); properties.put(IDnsSdDiscoveryConstants.CA_RESOLVER, "8.8.8.8"); config.update(properties); diff --git a/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/DnsSdAdvertiserServiceTest.java b/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/DnsSdAdvertiserServiceTest.java new file mode 100644 index 000000000..d63e5f721 --- /dev/null +++ b/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/DnsSdAdvertiserServiceTest.java @@ -0,0 +1,57 @@ +/******************************************************************************* + * Copyright (c) 2010 Markus Alexander Kuppe. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Markus Alexander Kuppe (ecf-dev_eclipse.org <at> lemmster <dot> de) - initial API and implementation + ******************************************************************************/ +package org.eclipse.ecf.tests.provider.dnssd; + +import org.eclipse.ecf.core.ContainerConnectException; +import org.eclipse.ecf.discovery.IDiscoveryAdvertiser; +import org.eclipse.ecf.discovery.IDiscoveryLocator; +import org.eclipse.ecf.tests.discovery.AbstractDiscoveryTest; +import org.eclipse.ecf.tests.discovery.Activator; + +public class DnsSdAdvertiserServiceTest extends AbstractDiscoveryTest { + + public DnsSdAdvertiserServiceTest() { + super(DnsSdTestHelper.ECF_DISCOVERY_DNSSD); + setNamingAuthority(DnsSdTestHelper.NAMING_AUTH); + setScope(DnsSdTestHelper.DOMAIN); + setServices(new String[]{DnsSdTestHelper.SCHEME}); + setProtocol(DnsSdTestHelper.PROTO); + setComparator(new DnsSdDiscoveryComparator()); + } + + /* (non-Javadoc) + * @see org.eclipse.ecf.tests.discovery.AbstractDiscoveryTest#getDiscoveryLocator() + */ + protected IDiscoveryAdvertiser getDiscoveryAdvertiser() { + return Activator.getDefault().getDiscoveryAdvertiser(containerUnderTest); + } + + /* (non-Javadoc) + * @see org.eclipse.ecf.tests.discovery.AbstractDiscoveryTest#getDiscoveryLocator() + */ + protected IDiscoveryLocator getDiscoveryLocator() { + return Activator.getDefault().getDiscoveryLocator(containerUnderTest); + } + + /* (non-Javadoc) + * @see org.eclipse.ecf.tests.provider.dnssd.DnsSdDiscoveryServiceTest#testRegisterService() + */ + public void testRegisterService() throws ContainerConnectException { + fail("Not yet implemented"); + } + + /* (non-Javadoc) + * @see org.eclipse.ecf.tests.provider.dnssd.DnsSdDiscoveryServiceTest#testUnregisterService() + */ + public void testUnregisterService() throws ContainerConnectException { + fail("Not yet implemented"); + } +} diff --git a/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/DnsSdAdvertiserWithoutRegister.java b/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/DnsSdAdvertiserWithoutRegister.java new file mode 100644 index 000000000..b54cb2a95 --- /dev/null +++ b/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/DnsSdAdvertiserWithoutRegister.java @@ -0,0 +1,21 @@ +/******************************************************************************* + * Copyright (c) 2010 Markus Alexander Kuppe. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Markus Alexander Kuppe (ecf-dev_eclipse.org <at> lemmster <dot> de) - initial API and implementation + ******************************************************************************/ +package org.eclipse.ecf.tests.provider.dnssd; + +import org.eclipse.ecf.tests.discovery.DiscoveryTestsWithoutRegister; + +public class DnsSdAdvertiserWithoutRegister extends + DiscoveryTestsWithoutRegister { + + public DnsSdAdvertiserWithoutRegister() { + super("ecf.discovery.dnssd.advertiser"); + } +} diff --git a/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/DnsSdDiscoveryServiceTest.java b/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/DnsSdDiscoveryServiceTest.java index 2e43d82cc..5bf923fc3 100644 --- a/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/DnsSdDiscoveryServiceTest.java +++ b/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/DnsSdDiscoveryServiceTest.java @@ -10,18 +10,11 @@ ******************************************************************************/ package org.eclipse.ecf.tests.provider.dnssd; -import java.net.URI; -import java.util.Properties; - import org.eclipse.core.runtime.OperationCanceledException; import org.eclipse.ecf.core.ContainerConnectException; import org.eclipse.ecf.core.identity.Namespace; import org.eclipse.ecf.discovery.IDiscoveryAdvertiser; import org.eclipse.ecf.discovery.IServiceInfo; -import org.eclipse.ecf.discovery.ServiceInfo; -import org.eclipse.ecf.discovery.ServiceProperties; -import org.eclipse.ecf.discovery.identity.IServiceTypeID; -import org.eclipse.ecf.discovery.identity.ServiceIDFactory; import org.eclipse.ecf.provider.dnssd.DnsSdNamespace; import org.eclipse.ecf.tests.discovery.DiscoveryServiceTest; @@ -30,23 +23,14 @@ import org.eclipse.ecf.tests.discovery.DiscoveryServiceTest; */ public class DnsSdDiscoveryServiceTest extends DiscoveryServiceTest { - public static final String PORT = "80"; - public static final String PATH = "/"; - public static final String DOMAIN_A_RECORD = "www.ecf-project.org"; - public static final String NAMING_AUTH = "iana"; - public static final String PROTO = "tcp"; - public static final String SCHEME = "http"; - public static final String ECF_DISCOVERY_DNSSD = "ecf.discovery.dnssd"; - public static final String DOMAIN = "dns-sd.ecf-project.org"; - public DnsSdDiscoveryServiceTest() { - this(ECF_DISCOVERY_DNSSD, DOMAIN, SCHEME, PROTO); + this(DnsSdTestHelper.ECF_DISCOVERY_DNSSD, DnsSdTestHelper.DOMAIN, DnsSdTestHelper.SCHEME, DnsSdTestHelper.PROTO); } public DnsSdDiscoveryServiceTest(String string, String scopes, String service, String protocol) { - super(ECF_DISCOVERY_DNSSD); - setNamingAuthority(NAMING_AUTH); + super(DnsSdTestHelper.ECF_DISCOVERY_DNSSD); + setNamingAuthority(DnsSdTestHelper.NAMING_AUTH); setScope(scopes); setServices(new String[]{service}); setProtocol(protocol); @@ -60,18 +44,7 @@ public class DnsSdDiscoveryServiceTest extends DiscoveryServiceTest { protected void setUp() throws Exception { super.setUp(); - final Properties props = new Properties(); - final URI uri = URI.create(SCHEME + "://" + DOMAIN_A_RECORD + ":" + PORT + PATH); - - Namespace namespace = discoveryLocator.getServicesNamespace(); - IServiceTypeID serviceTypeID = ServiceIDFactory.getDefault().createServiceTypeID(namespace, new String[]{SCHEME}, new String[]{DOMAIN}, new String[]{PROTO}, NAMING_AUTH); - assertNotNull(serviceTypeID); - - final ServiceProperties serviceProperties = new ServiceProperties(props); - serviceProperties.setPropertyString("path", PATH); - serviceProperties.setPropertyString("dns-sd.ptcl", SCHEME); - - serviceInfo = new ServiceInfo(uri, DOMAIN_A_RECORD, serviceTypeID, 10, 0, serviceProperties); + serviceInfo = DnsSdTestHelper.createServiceInfo(discoveryLocator.getServicesNamespace()); assertNotNull(serviceInfo); } diff --git a/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/DnsSdDiscoveryServiceTestWithWildcards.java b/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/DnsSdDiscoveryServiceTestWithWildcards.java index 3f705d6f3..1f329cd6b 100644 --- a/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/DnsSdDiscoveryServiceTestWithWildcards.java +++ b/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/DnsSdDiscoveryServiceTestWithWildcards.java @@ -14,6 +14,6 @@ package org.eclipse.ecf.tests.provider.dnssd; public class DnsSdDiscoveryServiceTestWithWildcards extends DnsSdDiscoveryServiceTest { public DnsSdDiscoveryServiceTestWithWildcards() { - super(ECF_DISCOVERY_DNSSD, DOMAIN, "", ""); + super(DnsSdTestHelper.ECF_DISCOVERY_DNSSD, DnsSdTestHelper.DOMAIN, "", ""); } } diff --git a/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/DnsSdTestHelper.java b/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/DnsSdTestHelper.java new file mode 100644 index 000000000..4691e60e8 --- /dev/null +++ b/tests/bundles/org.eclipse.ecf.tests.provider.dnssd/src/org/eclipse/ecf/tests/provider/dnssd/DnsSdTestHelper.java @@ -0,0 +1,45 @@ +/******************************************************************************* + * Copyright (c) 2010 Markus Alexander Kuppe. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Markus Alexander Kuppe (ecf-dev_eclipse.org <at> lemmster <dot> de) - initial API and implementation + ******************************************************************************/ +package org.eclipse.ecf.tests.provider.dnssd; + +import java.net.URI; +import java.util.Properties; + +import org.eclipse.ecf.core.identity.Namespace; +import org.eclipse.ecf.discovery.IServiceInfo; +import org.eclipse.ecf.discovery.ServiceInfo; +import org.eclipse.ecf.discovery.ServiceProperties; +import org.eclipse.ecf.discovery.identity.IServiceTypeID; +import org.eclipse.ecf.discovery.identity.ServiceIDFactory; + +public class DnsSdTestHelper { + public static final String PORT = "80"; + public static final String PATH = "/"; + public static final String DOMAIN_A_RECORD = "www.ecf-project.org"; + public static final String NAMING_AUTH = "iana"; + public static final String PROTO = "tcp"; + public static final String SCHEME = "http"; + public static final String ECF_DISCOVERY_DNSSD = "ecf.discovery.dnssd"; + public static final String DOMAIN = "dns-sd.ecf-project.org"; + + public static IServiceInfo createServiceInfo(Namespace namespace) { + final Properties props = new Properties(); + final URI uri = URI.create(SCHEME + "://" + DOMAIN_A_RECORD + ":" + PORT + PATH); + + IServiceTypeID serviceTypeID = ServiceIDFactory.getDefault().createServiceTypeID(namespace, new String[]{SCHEME}, new String[]{DOMAIN}, new String[]{PROTO}, NAMING_AUTH); + + final ServiceProperties serviceProperties = new ServiceProperties(props); + serviceProperties.setPropertyString("path", PATH); + serviceProperties.setPropertyString("dns-sd.ptcl", SCHEME); + + return new ServiceInfo(uri, DOMAIN_A_RECORD, serviceTypeID, 10, 0, serviceProperties); + } +} |
