Package org.eclipse.ecf.tests.remoteservice.rest

Source Code of org.eclipse.ecf.tests.remoteservice.rest.RestRemoteServiceAdapterTest

/*******************************************************************************
* Copyright (c) 2009 EclipseSource and others. 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:
*   EclipseSource - initial API and implementation
*******************************************************************************/
package org.eclipse.ecf.tests.remoteservice.rest;

import org.eclipse.ecf.core.IContainer;
import org.eclipse.ecf.remoteservice.Constants;
import org.eclipse.ecf.remoteservice.IRemoteFilter;
import org.eclipse.ecf.remoteservice.IRemoteService;
import org.eclipse.ecf.remoteservice.IRemoteServiceID;
import org.eclipse.ecf.remoteservice.IRemoteServiceListener;
import org.eclipse.ecf.remoteservice.IRemoteServiceReference;
import org.eclipse.ecf.remoteservice.IRemoteServiceRegistration;
import org.eclipse.ecf.remoteservice.client.IRemoteCallable;
import org.eclipse.ecf.remoteservice.client.IRemoteServiceClientContainerAdapter;
import org.eclipse.ecf.remoteservice.events.IRemoteServiceEvent;
import org.eclipse.ecf.remoteservice.events.IRemoteServiceRegisteredEvent;
import org.eclipse.ecf.remoteservice.rest.RestCallableFactory;
import org.osgi.framework.InvalidSyntaxException;

public class RestRemoteServiceAdapterTest extends AbstractRestTestCase {
 
  IContainer container;
 
  protected void setUp() throws Exception {
    super.setUp();
    container = createRestContainer(RestConstants.TEST_TWITTER_TARGET);
  }

  protected void tearDown() throws Exception {
    super.tearDown();
    container.disconnect();
    container.dispose();
    getContainerManager().removeAllContainers();
  }
 
  IRemoteServiceClientContainerAdapter getRemoteServiceClientContainerAdapter() {
    return super.getRemoteServiceClientContainerAdapter(container);
  }
 
  IRemoteServiceRegistration createRestRegistration(String resourcePath) {
    IRemoteCallable callable = RestCallableFactory.createCallable(resourcePath,resourcePath);
    return registerCallable(container, callable, null);
  }
 
  public void testGetRemoteService() {
    IRemoteServiceRegistration registration = createRestRegistration("resourcePath");
    IRemoteServiceReference reference = registration.getReference();
    assertNotNull(reference);
    IRemoteService remoteService = getRemoteServiceClientContainerAdapter().getRemoteService(reference);
    assertNotNull(remoteService);
  }
 
  public void testGetRemoteServiceReference() {
    IRemoteServiceRegistration registration = createRestRegistration("resourcePath");
    IRemoteServiceReference remoteServiceReference = getRemoteServiceClientContainerAdapter().getRemoteServiceReference(registration.getID());
    assertEquals(registration.getReference(), remoteServiceReference);
  }
 
  public void testUngetRemoteService() {
    IRemoteServiceRegistration registration = createRestRegistration("resourcePath");
    IRemoteServiceReference reference = registration.getReference();
    getRemoteServiceClientContainerAdapter().getRemoteService(reference);
    assertTrue(getRemoteServiceClientContainerAdapter().ungetRemoteService(reference));
  }

  public void testRemoteServiceRegisteredEvent() {
    IRemoteServiceClientContainerAdapter adapter = getRemoteServiceClientContainerAdapter();
    adapter.addRemoteServiceListener(new IRemoteServiceListener() {
      public void handleServiceEvent(IRemoteServiceEvent event) {
        assertTrue(event instanceof IRemoteServiceRegisteredEvent);
      }
    });
    createRestRegistration("resourcePath");
  }
 
  public void testCreateRemoteFilter() {
    String filter = "(" + Constants.OBJECTCLASS + "=" + IRemoteService.class.getName() + ")";
    try {
      IRemoteFilter remoteFilter = getRemoteServiceClientContainerAdapter().createRemoteFilter(filter);
      assertNotNull(remoteFilter);
    } catch (InvalidSyntaxException e) {
      fail();
    }   
  }
 
  public void testGetRemoteServiceID() {
    IRemoteServiceRegistration registration = createRestRegistration("resourcePath");
    long containerRelativeID = registration.getID().getContainerRelativeID();
    IRemoteServiceID remoteServiceID = getRemoteServiceClientContainerAdapter().getRemoteServiceID(container.getID(), containerRelativeID);
    assertEquals(registration.getID(), remoteServiceID);
  }
 
}
TOP

Related Classes of org.eclipse.ecf.tests.remoteservice.rest.RestRemoteServiceAdapterTest

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.