Package org.eclipse.ecf.tests.provider.dnssd

Source Code of org.eclipse.ecf.tests.provider.dnssd.DnsSdAdvertiserInternalTest

/*******************************************************************************
* 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.util.Arrays;
import java.util.List;

import org.eclipse.ecf.core.ContainerConnectException;
import org.eclipse.ecf.discovery.IDiscoveryAdvertiser;
import org.eclipse.ecf.provider.dnssd.DnsSdNamespace;
import org.eclipse.ecf.provider.dnssd.DnsSdServiceTypeID;


public class DnsSdAdvertiserInternalTest extends DnsSdAbstractDiscoveryTest {

  private static final String dnssd4 = "dnssd4.ecf-project.org";
  private static final String dnssd5 = "dnssd5.ecf-project.org";
  private static final String dnssd6 = "dnssd6.ecf-project.org";
 
  private static final String dnssd7 = "dnssd7.ecf-project.org";
  private static final String dnssd8 = "dnssd8.ecf-project.org";

  public DnsSdAdvertiserInternalTest() {
    super();
  }

  /* (non-Javadoc)
   * @see org.eclipse.ecf.tests.discovery.AbstractDiscoveryTest#getDiscoveryLocator()
   */
  protected IDiscoveryAdvertiser getDiscoveryAdvertiser() {
    final TestDnsSdDiscoveryAdvertiser advertiser = new TestDnsSdDiscoveryAdvertiser();
    try {
      advertiser.connect(null, null);
    } catch (ContainerConnectException e) {
      e.printStackTrace();
    }
    return advertiser;
  }
 
  /**
   * Test that delegate domains work
   *
   * dnssd4 -> @
   *       -> dnssd5 -> dnssd6
   *
   * must return {dnssd4, dnssd5, dnssd6}
   */
  public void testBrowsingDelegates() {
    final DnsSdNamespace namespace = new DnsSdNamespace();
   
    // only scope matters
    final DnsSdServiceTypeID aServiceTypeId = new DnsSdServiceTypeID(namespace, "_foo._bar._udp." + dnssd4 + "._iana");
    final String[] registrationDomains = ((TestDnsSdDiscoveryAdvertiser) discoveryAdvertiser).getRegistrationDomains(aServiceTypeId);
    assertTrue(registrationDomains.length == 3);
    final List list = Arrays.asList(registrationDomains);
    assertTrue(list.contains(dnssd4 + "."));
    assertTrue(list.contains(dnssd5 + "."));
    assertTrue(list.contains(dnssd6 + "."));
  }
 
  /**
   * Test that delegate domains work
   *
   * dnssd5 -> dnssd6
   *
   * must return {dnssd6}
   */
  public void testBrowsingDelegates2() {
    final DnsSdNamespace namespace = new DnsSdNamespace();
    // only scope matters
    final DnsSdServiceTypeID aServiceTypeId = new DnsSdServiceTypeID(namespace, "_foo._bar._udp." + dnssd5 + "._iana");
    final String[] registrationDomains = ((TestDnsSdDiscoveryAdvertiser) discoveryAdvertiser).getRegistrationDomains(aServiceTypeId);
    assertTrue(registrationDomains.length == 2);
    final List list = Arrays.asList(registrationDomains);
    assertTrue(list.contains(dnssd5 + "."));
    assertTrue(list.contains(dnssd6 + "."));
  }
 
  /**
   * Test that delegate domains work
   *
   * dnssd6 has no browsing domain set
   *
   * must return {dnssd6}
   */
  public void testBrowsingDelegates3() {
    final DnsSdNamespace namespace = new DnsSdNamespace();
    // only scope matters
    final DnsSdServiceTypeID aServiceTypeId = new DnsSdServiceTypeID(namespace, "_foo._bar._udp." + dnssd6 + "._iana");
    final String[] registrationDomains = ((TestDnsSdDiscoveryAdvertiser) discoveryAdvertiser).getRegistrationDomains(aServiceTypeId);
    assertTrue(registrationDomains.length == 1);
    final List list = Arrays.asList(registrationDomains);
    assertTrue(list.contains(dnssd6 + "."));
  }

  /**
   * Test that delegate domains work
   *
   * dnssd7 and dnssd8 both point to each other
   *
   * must return {dnssd7, dnssd8}
   */
  public void testBrowsingDelegatesWithCycles() {
    final DnsSdNamespace namespace = new DnsSdNamespace();
    // only scope matters
    final DnsSdServiceTypeID aServiceTypeId = new DnsSdServiceTypeID(namespace, "_foo._bar._udp." + dnssd7 + "._iana");
    final String[] registrationDomains = ((TestDnsSdDiscoveryAdvertiser) discoveryAdvertiser).getRegistrationDomains(aServiceTypeId);
    assertTrue(registrationDomains.length == 2);
    final List list = Arrays.asList(registrationDomains);
    assertTrue(list.contains(dnssd7 + "."));
    assertTrue(list.contains(dnssd8 + "."));
  }
}
TOP

Related Classes of org.eclipse.ecf.tests.provider.dnssd.DnsSdAdvertiserInternalTest

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.