Search in sources :

Example 1 with MemberV3ApiServiceDelegatorImpl

use of org.orcid.api.memberV3.server.delegator.impl.MemberV3ApiServiceDelegatorImpl in project ORCID-Source by ORCID.

the class MemberV3ApiServiceDelegator_GeneralTest method testSearchByQuery.

@Test
public void testSearchByQuery() {
    Search search = new Search();
    Result result = new Result();
    result.setOrcidIdentifier(new OrcidIdentifier("some-orcid-id"));
    search.getResults().add(result);
    OrcidSearchManager orcidSearchManager = Mockito.mock(OrcidSearchManagerImpl.class);
    Mockito.when(orcidSearchManager.findOrcidIds(Matchers.<Map<String, List<String>>>any())).thenReturn(search);
    OrcidSecurityManager orcidSecurityManager = Mockito.mock(OrcidSecurityManagerImpl.class);
    Mockito.doNothing().when(orcidSecurityManager).checkScopes(Mockito.any(ScopePathType.class));
    MemberV3ApiServiceDelegatorImpl delegator = new MemberV3ApiServiceDelegatorImpl();
    ReflectionTestUtils.setField(delegator, "orcidSearchManager", orcidSearchManager);
    ReflectionTestUtils.setField(delegator, "orcidSecurityManager", orcidSecurityManager);
    Response response = delegator.searchByQuery(new HashMap<String, List<String>>());
    assertNotNull(response);
    assertNotNull(response.getEntity());
    assertTrue(response.getEntity() instanceof Search);
    assertEquals(1, ((Search) response.getEntity()).getResults().size());
    assertEquals("some-orcid-id", ((Search) response.getEntity()).getResults().get(0).getOrcidIdentifier().getPath());
}
Also used : Response(javax.ws.rs.core.Response) ScopePathType(org.orcid.jaxb.model.message.ScopePathType) OrcidIdentifier(org.orcid.jaxb.model.v3.dev1.common.OrcidIdentifier) Search(org.orcid.jaxb.model.v3.dev1.search.Search) OrcidSecurityManager(org.orcid.core.manager.v3.OrcidSecurityManager) List(java.util.List) MemberV3ApiServiceDelegatorImpl(org.orcid.api.memberV3.server.delegator.impl.MemberV3ApiServiceDelegatorImpl) OrcidSearchManager(org.orcid.core.manager.v3.OrcidSearchManager) Result(org.orcid.jaxb.model.v3.dev1.search.Result) DBUnitTest(org.orcid.test.DBUnitTest) Test(org.junit.Test)

Example 2 with MemberV3ApiServiceDelegatorImpl

use of org.orcid.api.memberV3.server.delegator.impl.MemberV3ApiServiceDelegatorImpl in project ORCID-Source by ORCID.

the class MemberV3ApiServiceDelegator_GeneralTest method testSearchByQueryBadScope.

@Test(expected = AccessControlException.class)
public void testSearchByQueryBadScope() {
    OrcidSecurityManager orcidSecurityManager = Mockito.mock(OrcidSecurityManagerImpl.class);
    Mockito.doThrow(new AccessControlException("some problem with scope")).when(orcidSecurityManager).checkScopes(Mockito.any(ScopePathType.class));
    MemberV3ApiServiceDelegatorImpl delegator = new MemberV3ApiServiceDelegatorImpl();
    ReflectionTestUtils.setField(delegator, "orcidSecurityManager", orcidSecurityManager);
    delegator.searchByQuery(new HashMap<>());
}
Also used : ScopePathType(org.orcid.jaxb.model.message.ScopePathType) OrcidSecurityManager(org.orcid.core.manager.v3.OrcidSecurityManager) AccessControlException(java.security.AccessControlException) MemberV3ApiServiceDelegatorImpl(org.orcid.api.memberV3.server.delegator.impl.MemberV3ApiServiceDelegatorImpl) DBUnitTest(org.orcid.test.DBUnitTest) Test(org.junit.Test)

Example 3 with MemberV3ApiServiceDelegatorImpl

use of org.orcid.api.memberV3.server.delegator.impl.MemberV3ApiServiceDelegatorImpl in project ORCID-Source by ORCID.

the class MemberV3ApiServiceDelegator_GeneralTest method testSearchByQueryTooManyRows.

@Test(expected = OrcidBadRequestException.class)
public void testSearchByQueryTooManyRows() {
    Map<String, List<String>> params = new HashMap<>();
    params.put("rows", Arrays.asList(Integer.toString(OrcidSearchManager.MAX_SEARCH_ROWS + 20)));
    LocaleManager localeManager = Mockito.mock(LocaleManagerImpl.class);
    Mockito.when(localeManager.resolveMessage(Mockito.anyString())).thenReturn("a message");
    OrcidSecurityManager orcidSecurityManager = Mockito.mock(OrcidSecurityManagerImpl.class);
    Mockito.doNothing().when(orcidSecurityManager).checkScopes(Mockito.any(ScopePathType.class));
    MemberV3ApiServiceDelegatorImpl delegator = new MemberV3ApiServiceDelegatorImpl();
    ReflectionTestUtils.setField(delegator, "localeManager", localeManager);
    ReflectionTestUtils.setField(delegator, "orcidSecurityManager", orcidSecurityManager);
    delegator.searchByQuery(params);
}
Also used : ScopePathType(org.orcid.jaxb.model.message.ScopePathType) HashMap(java.util.HashMap) OrcidSecurityManager(org.orcid.core.manager.v3.OrcidSecurityManager) List(java.util.List) MemberV3ApiServiceDelegatorImpl(org.orcid.api.memberV3.server.delegator.impl.MemberV3ApiServiceDelegatorImpl) LocaleManager(org.orcid.core.locale.LocaleManager) DBUnitTest(org.orcid.test.DBUnitTest) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)3 MemberV3ApiServiceDelegatorImpl (org.orcid.api.memberV3.server.delegator.impl.MemberV3ApiServiceDelegatorImpl)3 OrcidSecurityManager (org.orcid.core.manager.v3.OrcidSecurityManager)3 ScopePathType (org.orcid.jaxb.model.message.ScopePathType)3 DBUnitTest (org.orcid.test.DBUnitTest)3 List (java.util.List)2 AccessControlException (java.security.AccessControlException)1 HashMap (java.util.HashMap)1 Response (javax.ws.rs.core.Response)1 LocaleManager (org.orcid.core.locale.LocaleManager)1 OrcidSearchManager (org.orcid.core.manager.v3.OrcidSearchManager)1 OrcidIdentifier (org.orcid.jaxb.model.v3.dev1.common.OrcidIdentifier)1 Result (org.orcid.jaxb.model.v3.dev1.search.Result)1 Search (org.orcid.jaxb.model.v3.dev1.search.Search)1