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

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

/*******************************************************************************
* 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.core.runtime.OperationCanceledException;
import org.eclipse.ecf.core.IContainer;
import org.eclipse.ecf.core.util.ECFException;
import org.eclipse.ecf.remoteservice.IRemoteCallListener;
import org.eclipse.ecf.remoteservice.IRemoteService;
import org.eclipse.ecf.remoteservice.IRemoteServiceRegistration;
import org.eclipse.ecf.remoteservice.client.IRemoteCallable;
import org.eclipse.ecf.remoteservice.events.IRemoteCallCompleteEvent;
import org.eclipse.ecf.remoteservice.events.IRemoteCallEvent;
import org.eclipse.ecf.remoteservice.rest.IRestCall;
import org.eclipse.ecf.remoteservice.rest.RestCallFactory;
import org.eclipse.ecf.remoteservice.rest.RestCallableFactory;
import org.eclipse.equinox.concurrent.future.IFuture;
import org.w3c.dom.Document;

public class RestRemoteServiceTest extends AbstractRestTestCase {

  IContainer container;
  IRemoteServiceRegistration registration;
 
  protected void setUp() throws Exception {
    container = createRestContainer(RestConstants.TEST_TWITTER_TARGET);
    IRemoteCallable callable = RestCallableFactory.createCallable(RestConstants.TEST_TWITTER_RESOURCEPATH);
    registration = registerCallable(container, callable, null);
  }

  protected void tearDown() throws Exception {
    registration.unregister();
    container.disconnect();
  }

 
  public void testSyncCall() {
    // XXX Removed test because it depends upon twitter service, which has changed
//    IRemoteService restClientService = getRemoteServiceClientContainerAdapter(container).getRemoteService(registration.getReference());
//    try {
//      Object result = restClientService.callSync(getRestXMLCall());
//      assertNotNull(result);
//    } catch (ECFException e) {
//      fail("Could not contact the service");
//    }
  }

  public void testAsynCall() {
    // XXX Removed test because it depends upon twitter service, which has changed
//    IRemoteService restClientService = getRemoteServiceClientContainerAdapter(container).getRemoteService(registration.getReference());
//    IFuture future = restClientService.callAsync(getRestXMLCall());
//    try {
//      Object response = future.get();
//      assertTrue(response instanceof Document);
//    } catch (OperationCanceledException e) {
//      fail(e.getMessage());
//    } catch (InterruptedException e) {
//      fail(e.getMessage());
//    }
  }

  public void testAsyncCallWithListener() throws Exception {
    // XXX Removed test because it depends upon twitter service, which has changed
//    IRemoteService restClientService = getRemoteServiceClientContainerAdapter(container).getRemoteService(registration.getReference());
//    restClientService.callAsync(getRestXMLCall(), new IRemoteCallListener() {
//      public void handleEvent(IRemoteCallEvent event) {
//        if (event instanceof IRemoteCallCompleteEvent) {
//          IRemoteCallCompleteEvent cce = (IRemoteCallCompleteEvent) event;
//          Object response = cce.getResponse();
//          assertTrue(response instanceof Document);
//          syncNotify();
//        }
//      }
//    });
//    syncWaitForNotify(10000);
  }


  private IRestCall getRestXMLCall() {
    return RestCallFactory.createRestCall(RestConstants.TEST_TWITTER_RESOURCEPATH);
  }

}
TOP

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

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.