package org.gbif.checklistbank.ws.client; import org.gbif.api.model.checklistbank.NameUsageExtension; import org.gbif.api.model.common.paging.PagingResponse; import com.sun.jersey.api.client.WebResource; import org.junit.Before; import org.junit.Test; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.when; public abstract class WsClientNameUsageComponentTest<T extends NameUsageExtension> extends WsClientBaseTest<T> { protected NameUsageComponentBaseWsClient<T> client; public WsClientNameUsageComponentTest(Class<T> resourceClass) { super(resourceClass); } @Before @Override public void setUp() { super.setUp(); client = getClient(resource); when(resource.get(client.tPage)).thenReturn(getMockResponse()); when(resourceBuilder.get(eq(client.tPage))).thenReturn(getMockResponse()); } protected PagingResponse<T> getMockResponse() { PagingResponse<T> results = super.getMockResponse(); for (T obj : results.getResults()) { obj.setSourceTaxonKey(key); } return results; } @Override abstract NameUsageComponentBaseWsClient<T> getClient(WebResource resource); @Test public void testListByUsage() { client.listByUsage(key, page); } }