Search in sources :

Example 11 with ContainerResponse

use of com.sun.jersey.spi.container.ContainerResponse in project ORCID-Source by ORCID.

the class AnalyticsProcessTest method testAnalyticsProcessForGetRequestWithJsonAcceptHeader.

@Test
public void testAnalyticsProcessForGetRequestWithJsonAcceptHeader() throws InterruptedException {
    Mockito.when(profileEntityCacheManager.retrieve(Mockito.eq("1234-4321-1234-4321"))).thenReturn(getProfileEntity());
    ContainerRequest request = getGetRequestWithJsonAcceptHeader();
    ContainerResponse response = getResponse(request);
    AnalyticsProcess process = new AnalyticsProcess();
    process.setRequest(request);
    process.setResponse(response);
    process.setAnalyticsClient(analyticsClient);
    process.setClientDetailsEntityCacheManager(clientDetailsEntityCacheManager);
    process.setProfileEntityCacheManager(profileEntityCacheManager);
    process.setPublicApi(true);
    process.setIp("37.14.150.83");
    process.setScheme("https");
    Thread t = new Thread(process);
    t.start();
    t.join();
    ArgumentCaptor<AnalyticsData> captor = ArgumentCaptor.forClass(AnalyticsData.class);
    Mockito.verify(analyticsClient).sendAnalyticsData(captor.capture());
    AnalyticsData data = captor.getValue();
    assertNotNull(data);
    // default content type
    assertEquals(MediaType.APPLICATION_JSON, data.getContentType());
}
Also used : ContainerResponse(com.sun.jersey.spi.container.ContainerResponse) ContainerRequest(com.sun.jersey.spi.container.ContainerRequest) Test(org.junit.Test)

Example 12 with ContainerResponse

use of com.sun.jersey.spi.container.ContainerResponse in project ORCID-Source by ORCID.

the class AnalyticsProcessTest method testSchemeCorrection.

@Test
public void testSchemeCorrection() throws InterruptedException {
    String clientDetailsId = "some-client-details-id";
    Mockito.when(clientDetailsEntityCacheManager.retrieve(Mockito.eq(clientDetailsId))).thenReturn(getPublicClient());
    Mockito.when(profileEntityCacheManager.retrieve(Mockito.eq("1234-4321-1234-4321"))).thenReturn(getProfileEntity());
    ContainerRequest request = getRequestWithHttpScheme();
    ContainerResponse response = getResponse(request);
    AnalyticsProcess process = new AnalyticsProcess();
    process.setRequest(request);
    process.setResponse(response);
    process.setClientDetailsId(clientDetailsId);
    process.setAnalyticsClient(analyticsClient);
    process.setClientDetailsEntityCacheManager(clientDetailsEntityCacheManager);
    process.setProfileEntityCacheManager(profileEntityCacheManager);
    process.setPublicApi(true);
    process.setIp("37.14.150.83");
    process.setScheme("https");
    Thread t = new Thread(process);
    t.start();
    t.join();
    ArgumentCaptor<AnalyticsData> captor = ArgumentCaptor.forClass(AnalyticsData.class);
    Mockito.verify(analyticsClient).sendAnalyticsData(captor.capture());
    AnalyticsData data = captor.getValue();
    assertNotNull(data);
}
Also used : ContainerResponse(com.sun.jersey.spi.container.ContainerResponse) ContainerRequest(com.sun.jersey.spi.container.ContainerRequest) Test(org.junit.Test)

Example 13 with ContainerResponse

use of com.sun.jersey.spi.container.ContainerResponse in project ORCID-Source by ORCID.

the class AnalyticsProcessTest method testAnalyticsProcessForPublicClient.

@Test
public void testAnalyticsProcessForPublicClient() throws InterruptedException {
    String clientDetailsId = "some-client-details-id";
    Mockito.when(clientDetailsEntityCacheManager.retrieve(Mockito.eq(clientDetailsId))).thenReturn(getPublicClient());
    Mockito.when(profileEntityCacheManager.retrieve(Mockito.eq("1234-4321-1234-4321"))).thenReturn(getProfileEntity());
    ContainerRequest request = getRequest();
    ContainerResponse response = getResponse(request);
    AnalyticsProcess process = new AnalyticsProcess();
    process.setRequest(request);
    process.setResponse(response);
    process.setClientDetailsId(clientDetailsId);
    process.setAnalyticsClient(analyticsClient);
    process.setClientDetailsEntityCacheManager(clientDetailsEntityCacheManager);
    process.setProfileEntityCacheManager(profileEntityCacheManager);
    process.setPublicApi(true);
    process.setIp("37.14.150.83");
    process.setScheme("https");
    Thread t = new Thread(process);
    t.start();
    t.join();
    ArgumentCaptor<AnalyticsData> captor = ArgumentCaptor.forClass(AnalyticsData.class);
    Mockito.verify(analyticsClient).sendAnalyticsData(captor.capture());
    AnalyticsData data = captor.getValue();
    assertNotNull(data);
    assertEquals("POST", data.getMethod());
    assertEquals("works", data.getCategory());
    assertEquals("Public API v2.0", data.getApiVersion());
    assertEquals(ClientType.PUBLIC_CLIENT.value() + " | a public client - some-client-details-id", data.getClientDetailsString());
    assertEquals("37.14.150.0", data.getIpAddress());
    assertEquals(Integer.valueOf(200), data.getResponseCode());
    assertEquals("blah", data.getUserAgent());
    assertEquals(MediaType.APPLICATION_XML, data.getContentType());
}
Also used : ContainerResponse(com.sun.jersey.spi.container.ContainerResponse) ContainerRequest(com.sun.jersey.spi.container.ContainerRequest) Test(org.junit.Test)

Example 14 with ContainerResponse

use of com.sun.jersey.spi.container.ContainerResponse in project ORCID-Source by ORCID.

the class AnalyticsProcessTest method testAnalyticsProcessForPostRequestWithJsonContentTypeHeader.

@Test
public void testAnalyticsProcessForPostRequestWithJsonContentTypeHeader() throws InterruptedException {
    Mockito.when(profileEntityCacheManager.retrieve(Mockito.eq("1234-4321-1234-4321"))).thenReturn(getProfileEntity());
    ContainerRequest request = getPostRequestWithJsonContentTypeHeader();
    ContainerResponse response = getResponse(request);
    AnalyticsProcess process = new AnalyticsProcess();
    process.setRequest(request);
    process.setResponse(response);
    process.setAnalyticsClient(analyticsClient);
    process.setClientDetailsEntityCacheManager(clientDetailsEntityCacheManager);
    process.setProfileEntityCacheManager(profileEntityCacheManager);
    process.setPublicApi(true);
    process.setIp("37.14.150.83");
    process.setScheme("https");
    Thread t = new Thread(process);
    t.start();
    t.join();
    ArgumentCaptor<AnalyticsData> captor = ArgumentCaptor.forClass(AnalyticsData.class);
    Mockito.verify(analyticsClient).sendAnalyticsData(captor.capture());
    AnalyticsData data = captor.getValue();
    assertNotNull(data);
    assertEquals("POST", data.getMethod());
    // default content type
    assertEquals(MediaType.APPLICATION_JSON, data.getContentType());
}
Also used : ContainerResponse(com.sun.jersey.spi.container.ContainerResponse) ContainerRequest(com.sun.jersey.spi.container.ContainerRequest) Test(org.junit.Test)

Example 15 with ContainerResponse

use of com.sun.jersey.spi.container.ContainerResponse in project ORCID-Source by ORCID.

the class AnalyticsProcessTest method testAnalyticsProcessForPostRequestWithXmlContentTypeHeader.

@Test
public void testAnalyticsProcessForPostRequestWithXmlContentTypeHeader() throws InterruptedException {
    Mockito.when(profileEntityCacheManager.retrieve(Mockito.eq("1234-4321-1234-4321"))).thenReturn(getProfileEntity());
    ContainerRequest request = getPostRequestWithXmlContentTypeHeader();
    ContainerResponse response = getResponse(request);
    AnalyticsProcess process = new AnalyticsProcess();
    process.setRequest(request);
    process.setResponse(response);
    process.setAnalyticsClient(analyticsClient);
    process.setClientDetailsEntityCacheManager(clientDetailsEntityCacheManager);
    process.setProfileEntityCacheManager(profileEntityCacheManager);
    process.setPublicApi(true);
    process.setIp("37.14.150.83");
    process.setScheme("https");
    Thread t = new Thread(process);
    t.start();
    t.join();
    ArgumentCaptor<AnalyticsData> captor = ArgumentCaptor.forClass(AnalyticsData.class);
    Mockito.verify(analyticsClient).sendAnalyticsData(captor.capture());
    AnalyticsData data = captor.getValue();
    assertNotNull(data);
    assertEquals("POST", data.getMethod());
    // default content type
    assertEquals(OrcidApiConstants.ORCID_XML, data.getContentType());
}
Also used : ContainerResponse(com.sun.jersey.spi.container.ContainerResponse) ContainerRequest(com.sun.jersey.spi.container.ContainerRequest) Test(org.junit.Test)

Aggregations

ContainerResponse (com.sun.jersey.spi.container.ContainerResponse)20 ContainerRequest (com.sun.jersey.spi.container.ContainerRequest)19 Test (org.junit.Test)18 WebApplicationImpl (com.sun.jersey.server.impl.application.WebApplicationImpl)1 FakeClock (com.twitter.common.util.testing.FakeClock)1 FilterChain (javax.servlet.FilterChain)1 HttpServletRequest (javax.servlet.http.HttpServletRequest)1 HttpServletResponse (javax.servlet.http.HttpServletResponse)1 Before (org.junit.Before)1