Search in sources :

Example 6 with ContainerRequest

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

the class AnalyticsProcessTest method testAnalyticsProcessForMemberClient.

@Test
public void testAnalyticsProcessForMemberClient() throws InterruptedException {
    String clientDetailsId = "some-client-details-id";
    Mockito.when(clientDetailsEntityCacheManager.retrieve(Mockito.eq(clientDetailsId))).thenReturn(getMemberClient());
    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(false);
    process.setIp("37.14.150.83");
    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("Member API v2.0", data.getApiVersion());
    assertEquals(ClientType.CREATOR.value() + " | a member client - some-client-details-id", data.getClientDetailsString());
    assertEquals("37.14.150.0", data.getIpAddress());
    assertEquals(Integer.valueOf(200), data.getResponseCode());
    assertEquals("https://localhost:8443/orcid-api-web/v2.0/" + hashedOrcid + "/works", data.getUrl());
    assertEquals("blah", data.getUserAgent());
    assertEquals("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 7 with ContainerRequest

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

the class AnalyticsProcessTest method testAnalyticsProcessForAnonymous.

@Test
public void testAnalyticsProcessForAnonymous() throws InterruptedException {
    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.setAnalyticsClient(analyticsClient);
    process.setClientDetailsEntityCacheManager(clientDetailsEntityCacheManager);
    process.setProfileEntityCacheManager(profileEntityCacheManager);
    process.setPublicApi(true);
    process.setIp("37.14.150.83");
    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("Public API user", data.getClientDetailsString());
    assertEquals("37.14.150.0", data.getIpAddress());
    assertEquals(Integer.valueOf(200), data.getResponseCode());
    assertEquals("https://localhost:8443/orcid-api-web/v2.0/" + hashedOrcid + "/works", data.getUrl());
    assertEquals("blah", data.getUserAgent());
    assertEquals("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 8 with ContainerRequest

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

the class TokenTargetFilterTest method tokenUsedOnTheRightUserTest.

@Test
public void tokenUsedOnTheRightUserTest() {
    setUpSecurityContext(ORCID1, CLIENT_ID, ScopePathType.READ_LIMITED);
    ContainerRequest request = Mockito.mock(ContainerRequest.class);
    Mockito.when(request.getPath()).thenReturn("http://api.test.orcid.org/v2.0/" + ORCID1);
    TokenTargetFilter filter = new TokenTargetFilter();
    filter.filter(request);
}
Also used : ContainerRequest(com.sun.jersey.spi.container.ContainerRequest) Test(org.junit.Test)

Example 9 with ContainerRequest

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

the class TokenTargetFilterTest method readPublicTokenTest.

@Test
public void readPublicTokenTest() {
    setUpSecurityContext(null, CLIENT_ID, ScopePathType.READ_PUBLIC);
    ContainerRequest request = Mockito.mock(ContainerRequest.class);
    Mockito.when(request.getPath()).thenReturn("http://api.test.orcid.org/v2.0/" + ORCID2);
    TokenTargetFilter filter = new TokenTargetFilter();
    filter.filter(request);
}
Also used : ContainerRequest(com.sun.jersey.spi.container.ContainerRequest) Test(org.junit.Test)

Example 10 with ContainerRequest

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

the class ApiVersionCheckFilterTest method api1_2VersionTest.

@Test
public void api1_2VersionTest() {
    WebApplication webApp = Mockito.mock(WebApplication.class, Mockito.RETURNS_MOCKS);
    URI baseUri = URI.create("http://localhost:8443/orcid-api-web/");
    URI requestUri = URI.create("http://localhost:8443/orcid-api-web/v1.2/0000-0001-7510-9252/activities");
    InBoundHeaders headers = new InBoundHeaders();
    ByteArrayInputStream inputStream = new ByteArrayInputStream(new byte[0]);
    try {
        ContainerRequest containerRequest = new ContainerRequest(webApp, "POST", baseUri, requestUri, headers, inputStream);
        ApiVersionCheckFilter filter = getApiVersionCheckFilter("http");
        filter.filter(containerRequest);
    } catch (Exception e) {
        fail();
    }
    try {
        ContainerRequest containerRequest = new ContainerRequest(webApp, "PUT", baseUri, requestUri, headers, inputStream);
        ApiVersionCheckFilter filter = getApiVersionCheckFilter("http");
        filter.filter(containerRequest);
    } catch (Exception e) {
        fail();
    }
    try {
        ContainerRequest containerRequest = new ContainerRequest(webApp, "DELETE", baseUri, requestUri, headers, inputStream);
        ApiVersionCheckFilter filter = getApiVersionCheckFilter("http");
        filter.filter(containerRequest);
    } catch (Exception e) {
        fail();
    }
    try {
        ContainerRequest containerRequest = new ContainerRequest(webApp, "GET", baseUri, requestUri, headers, inputStream);
        ApiVersionCheckFilter filter = getApiVersionCheckFilter("http");
        filter.filter(containerRequest);
    } catch (Exception e) {
        fail();
    }
}
Also used : InBoundHeaders(com.sun.jersey.core.header.InBoundHeaders) ByteArrayInputStream(java.io.ByteArrayInputStream) ContainerRequest(com.sun.jersey.spi.container.ContainerRequest) WebApplication(com.sun.jersey.spi.container.WebApplication) URI(java.net.URI) OrcidBadRequestException(org.orcid.core.exception.OrcidBadRequestException) Test(org.junit.Test)

Aggregations

ContainerRequest (com.sun.jersey.spi.container.ContainerRequest)43 Test (org.junit.Test)37 InBoundHeaders (com.sun.jersey.core.header.InBoundHeaders)16 WebApplication (com.sun.jersey.spi.container.WebApplication)10 ByteArrayInputStream (java.io.ByteArrayInputStream)10 URI (java.net.URI)9 OrcidBadRequestException (org.orcid.core.exception.OrcidBadRequestException)9 SimbaCredentials (org.simbasecurity.dwclient.dropwizard.credentials.SimbaCredentials)6 ContainerResponse (com.sun.jersey.spi.container.ContainerResponse)5 THttpClient (org.apache.thrift.transport.THttpClient)5 Client (org.simbasecurity.api.service.thrift.AuthenticationFilterService.Client)5 RequestData (org.simbasecurity.api.service.thrift.RequestData)5 MockHttpServletRequest (org.springframework.mock.web.MockHttpServletRequest)5 CoreMatchers.containsString (org.hamcrest.CoreMatchers.containsString)4 XForwardFilter (org.neo4j.server.web.XForwardFilter)4 ActionDescriptor (org.simbasecurity.api.service.thrift.ActionDescriptor)4 ContainerRequestBuilderForTests (org.simbasecurity.dwclient.test.dropwizard.matchers.ContainerRequestBuilderForTests)4 ActionDescriptorBuilderForTests (org.simbasecurity.dwclient.test.stub.simba.ActionDescriptorBuilderForTests)4 Before (org.junit.Before)3 SimbaCredentialsBuilderForTests (org.simbasecurity.dwclient.dropwizard.credentials.SimbaCredentialsBuilderForTests)3