Package com.eclipsesource.jaxrs.consumer

Source Code of com.eclipsesource.jaxrs.consumer.CustomProviderTest$FakeResource

/*******************************************************************************
* Copyright (c) 2012 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:
*    Holger Staudacher - initial API and implementation
******************************************************************************/
package com.eclipsesource.jaxrs.consumer;

import static com.github.restdriver.clientdriver.ClientDriverRequest.Method.GET;
import static com.github.restdriver.clientdriver.ClientDriverRequest.Method.POST;
import static com.github.restdriver.clientdriver.RestClientDriver.giveResponse;
import static com.github.restdriver.clientdriver.RestClientDriver.onRequestTo;
import static javax.ws.rs.core.MediaType.TEXT_PLAIN;
import static org.junit.Assert.assertEquals;

import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;

import org.glassfish.jersey.client.ClientConfig;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;

import com.eclipsesource.jaxrs.consumer.test.TestUtil.CustomProvider;
import com.eclipsesource.jaxrs.consumer.test.TestUtil.CustomType;
import com.github.restdriver.clientdriver.ClientDriverRule;


public class CustomProviderTest {
 
  @Rule
  public ClientDriverRule driver = new ClientDriverRule();
 
  private FakeResource resource;
 
  @Path( "/test" )
  private interface FakeResource {
    @GET
    CustomType getContent();
    @POST
    CustomType postContent( CustomType content );
    @POST
    String postContent( String content );
  }
 
  @Before
  public void setUp() {
    ClientConfig config = new ClientConfig().register( new CustomProvider() );
    resource = ConsumerFactory.createConsumer( driver.getBaseUrl(), config, FakeResource.class );
  }
 
  @Test
  public void testSimpleGetWithCustomProvider() {
    driver.addExpectation( onRequestTo( "/test" ).withMethod( GET ), giveResponse( "get", TEXT_PLAIN ) );
   
    CustomType content = resource.getContent();
    assertEquals( "get", content.getValue() );
  }
 
  @Test
  public void testSimplePostWithCustomProvider() {
    CustomType customType = new CustomType( "foo" );
    driver.addExpectation( onRequestTo( "/test" )
                           .withMethod( POST )
                           .withBody( customType.getValue(), TEXT_PLAIN ), giveResponse( "bar", TEXT_PLAIN ) );
   
    CustomType content = resource.postContent( customType );
    assertEquals( "bar", content.getValue() );
  }
}
TOP

Related Classes of com.eclipsesource.jaxrs.consumer.CustomProviderTest$FakeResource

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.