Search in sources :

Example 16 with Page

use of io.gravitee.am.model.common.Page in project gravitee-access-management by gravitee-io.

the class ResourceRepositoryTest method testFindByDomain.

@Test
public void testFindByDomain() throws TechnicalException {
    // create resource_set, resource_scopes being the most important field.
    Resource resource1 = new Resource().setResourceScopes(Arrays.asList("a", "b", "c")).setDomain(DOMAIN_ID).setClientId(CLIENT_ID).setUserId(USER_ID);
    Resource resource2 = new Resource().setResourceScopes(Arrays.asList("d", "e", "f")).setDomain(DOMAIN_ID).setClientId(CLIENT_ID).setUserId(USER_ID);
    repository.create(resource1).blockingGet();
    repository.create(resource2).blockingGet();
    // fetch applications
    TestObserver<Page<Resource>> testObserver = repository.findByDomain(DOMAIN_ID, 0, Integer.MAX_VALUE).test();
    testObserver.awaitTerminalEvent();
    testObserver.assertComplete();
    testObserver.assertNoErrors();
    testObserver.assertValue(resources -> resources.getData().size() == 2);
}
Also used : Resource(io.gravitee.am.model.uma.Resource) Page(io.gravitee.am.model.common.Page) Test(org.junit.Test) AbstractManagementTest(io.gravitee.am.repository.management.AbstractManagementTest)

Example 17 with Page

use of io.gravitee.am.model.common.Page in project gravitee-access-management by gravitee-io.

the class OrganizationUserRepositoryTest method testScimSearch_byUsername_paged.

@Test
public void testScimSearch_byUsername_paged() {
    final String organization = "organization";
    // create user
    User user1 = new User();
    user1.setReferenceType(ReferenceType.ORGANIZATION);
    user1.setReferenceId(organization);
    user1.setUsername("testUsername1");
    organizationUserRepository.create(user1).blockingGet();
    User user2 = new User();
    user2.setReferenceType(ReferenceType.ORGANIZATION);
    user2.setReferenceId(organization);
    user2.setUsername("testUsername2");
    organizationUserRepository.create(user2).blockingGet();
    User user3 = new User();
    user3.setReferenceType(ReferenceType.ORGANIZATION);
    user3.setReferenceId(organization);
    user3.setUsername("testUsername3");
    organizationUserRepository.create(user3).blockingGet();
    // fetch user (page 0)
    FilterCriteria criteria = new FilterCriteria();
    criteria.setFilterName("userName");
    criteria.setFilterValue("testUsername");
    criteria.setOperator("sw");
    criteria.setQuoteFilterValue(true);
    TestObserver<Page<User>> testObserverP0 = organizationUserRepository.search(ReferenceType.ORGANIZATION, organization, criteria, 0, 4).test();
    testObserverP0.awaitTerminalEvent();
    testObserverP0.assertComplete();
    testObserverP0.assertNoErrors();
    testObserverP0.assertValue(users -> users.getData().size() == 3);
    // fetch user (page 1)
    TestObserver<Page<User>> testObserverP1 = organizationUserRepository.search(ReferenceType.ORGANIZATION, organization, criteria, 1, 2).test();
    testObserverP1.awaitTerminalEvent();
    testObserverP1.assertComplete();
    testObserverP1.assertNoErrors();
    testObserverP1.assertValue(users -> users.getData().size() == 1);
}
Also used : User(io.gravitee.am.model.User) Page(io.gravitee.am.model.common.Page) FilterCriteria(io.gravitee.am.repository.management.api.search.FilterCriteria) Test(org.junit.Test) AbstractManagementTest(io.gravitee.am.repository.management.AbstractManagementTest)

Example 18 with Page

use of io.gravitee.am.model.common.Page in project gravitee-access-management by gravitee-io.

the class OrganizationUserRepositoryTest method testSearch_byUsername_paged.

@Test
public void testSearch_byUsername_paged() {
    final String organization = "organization";
    // create user
    User user1 = new User();
    user1.setReferenceType(ReferenceType.ORGANIZATION);
    user1.setReferenceId(organization);
    user1.setUsername("testUsername1");
    organizationUserRepository.create(user1).blockingGet();
    User user2 = new User();
    user2.setReferenceType(ReferenceType.ORGANIZATION);
    user2.setReferenceId(organization);
    user2.setUsername("testUsername2");
    organizationUserRepository.create(user2).blockingGet();
    User user3 = new User();
    user3.setReferenceType(ReferenceType.ORGANIZATION);
    user3.setReferenceId(organization);
    user3.setUsername("testUsername3");
    organizationUserRepository.create(user3).blockingGet();
    // fetch user (page 0)
    TestObserver<Page<User>> testObserverP0 = organizationUserRepository.search(ReferenceType.ORGANIZATION, organization, "testUsername*", 0, 2).test();
    testObserverP0.awaitTerminalEvent();
    testObserverP0.assertComplete();
    testObserverP0.assertNoErrors();
    testObserverP0.assertValue(users -> users.getData().size() == 2);
    testObserverP0.assertValue(users -> {
        Iterator<User> it = users.getData().iterator();
        return it.next().getUsername().equals(user1.getUsername()) && it.next().getUsername().equals(user2.getUsername());
    });
    // fetch user (page 1)
    TestObserver<Page<User>> testObserverP1 = organizationUserRepository.search(ReferenceType.ORGANIZATION, organization, "testUsername*", 1, 2).test();
    testObserverP1.awaitTerminalEvent();
    testObserverP1.assertComplete();
    testObserverP1.assertNoErrors();
    testObserverP1.assertValue(users -> users.getData().size() == 1);
    testObserverP1.assertValue(users -> users.getData().iterator().next().getUsername().equals(user3.getUsername()));
}
Also used : User(io.gravitee.am.model.User) Page(io.gravitee.am.model.common.Page) Test(org.junit.Test) AbstractManagementTest(io.gravitee.am.repository.management.AbstractManagementTest)

Example 19 with Page

use of io.gravitee.am.model.common.Page in project gravitee-access-management by gravitee-io.

the class OrganizationUserRepositoryTest method testSearch_wildcard.

private void testSearch_wildcard(String query) {
    final String organization = "organization";
    // create user
    User user = new User();
    user.setReferenceType(ReferenceType.ORGANIZATION);
    user.setReferenceId(organization);
    user.setFirstName("firstName");
    user.setLastName("lastName");
    user.setDisplayName("displayName");
    user.setUsername("testUsername");
    user.setEmail("user.name@mail.com");
    organizationUserRepository.create(user).blockingGet();
    User user2 = new User();
    user2.setReferenceType(ReferenceType.ORGANIZATION);
    user2.setReferenceId(organization);
    user2.setFirstName("firstName2");
    user2.setLastName("lastName2");
    user2.setDisplayName("displayName2");
    user2.setUsername("testUsername2");
    user2.setEmail("user.name@mail.com2");
    organizationUserRepository.create(user2).blockingGet();
    // fetch user
    TestObserver<Page<User>> testObserver = organizationUserRepository.search(ReferenceType.ORGANIZATION, organization, query, 0, 10).test();
    testObserver.awaitTerminalEvent();
    testObserver.assertComplete();
    testObserver.assertNoErrors();
    testObserver.assertValue(users -> users.getData().size() == 2);
}
Also used : User(io.gravitee.am.model.User) Page(io.gravitee.am.model.common.Page)

Example 20 with Page

use of io.gravitee.am.model.common.Page in project gravitee-access-management by gravitee-io.

the class OrganizationUserRepositoryTest method testScimSearch_byGivenName_PR_paged.

@Test
public void testScimSearch_byGivenName_PR_paged() {
    final String organization = "organization";
    // create user
    User user1 = new User();
    user1.setReferenceType(ReferenceType.ORGANIZATION);
    user1.setReferenceId(organization);
    user1.setUsername("testUsername1");
    user1.setAdditionalInformation(Collections.singletonMap("given_name", "gname1"));
    organizationUserRepository.create(user1).blockingGet();
    User user2 = new User();
    user2.setReferenceType(ReferenceType.ORGANIZATION);
    user2.setReferenceId(organization);
    user2.setUsername("testUsername2");
    organizationUserRepository.create(user2).blockingGet();
    FilterCriteria criteria = new FilterCriteria();
    criteria.setFilterName("name.givenName");
    criteria.setFilterValue("");
    criteria.setOperator("pr");
    TestObserver<Page<User>> testObserverP0 = organizationUserRepository.search(ReferenceType.ORGANIZATION, organization, criteria, 0, 4).test();
    testObserverP0.awaitTerminalEvent();
    testObserverP0.assertComplete();
    testObserverP0.assertNoErrors();
    testObserverP0.assertValue(users -> users.getData().size() == 1);
    testObserverP0.assertValue(users -> users.getData().iterator().next().getUsername().equals(user1.getUsername()));
}
Also used : User(io.gravitee.am.model.User) Page(io.gravitee.am.model.common.Page) FilterCriteria(io.gravitee.am.repository.management.api.search.FilterCriteria) Test(org.junit.Test) AbstractManagementTest(io.gravitee.am.repository.management.AbstractManagementTest)

Aggregations

Page (io.gravitee.am.model.common.Page)68 Test (org.junit.Test)51 User (io.gravitee.am.model.User)29 AbstractManagementTest (io.gravitee.am.repository.management.AbstractManagementTest)26 FilterCriteria (io.gravitee.am.repository.management.api.search.FilterCriteria)16 Autowired (org.springframework.beans.factory.annotation.Autowired)14 Maybe (io.reactivex.Maybe)12 Single (io.reactivex.Single)12 ReferenceType (io.gravitee.am.model.ReferenceType)11 Flowable (io.reactivex.Flowable)11 Response (javax.ws.rs.core.Response)11 Domain (io.gravitee.am.model.Domain)10 List (java.util.List)10 Application (io.gravitee.am.model.Application)9 Scope (io.gravitee.am.model.oauth2.Scope)8 Completable (io.reactivex.Completable)8 LocalDateTime (java.time.LocalDateTime)8 InitializingBean (org.springframework.beans.factory.InitializingBean)8 Criteria.where (org.springframework.data.relational.core.query.Criteria.where)8 Query (org.springframework.data.relational.core.query.Query)8