Search in sources :

Example 11 with Page

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

the class GroupsResourceTest method shouldGetGroups.

@Test
public void shouldGetGroups() {
    final String domainId = "domain-1";
    final Domain mockDomain = new Domain();
    mockDomain.setId(domainId);
    final Group mockGroup = new Group();
    mockGroup.setId("group-id-1");
    mockGroup.setReferenceId(domainId);
    final Group mockGroup2 = new Group();
    mockGroup2.setId("group-id-2");
    mockGroup2.setReferenceId(domainId);
    final List<Group> groups = Arrays.asList(mockGroup, mockGroup2);
    final Page<User> pagedUsers = new Page(groups, 0, 2);
    doReturn(Maybe.just(mockDomain)).when(domainService).findById(domainId);
    doReturn(Single.just(pagedUsers)).when(groupService).findByDomain(domainId, 0, 10);
    final Response response = target("domains").path(domainId).path("groups").queryParam("page", 0).queryParam("size", 10).request().get();
    assertEquals(HttpStatusCode.OK_200, response.getStatus());
    final Map entity = readEntity(response, Map.class);
    assertTrue(((List) entity.get("data")).size() == 2);
}
Also used : Response(javax.ws.rs.core.Response) NewGroup(io.gravitee.am.service.model.NewGroup) Group(io.gravitee.am.model.Group) User(io.gravitee.am.model.User) Page(io.gravitee.am.model.common.Page) List(java.util.List) Domain(io.gravitee.am.model.Domain) Map(java.util.Map) Test(org.junit.Test) JerseySpringTest(io.gravitee.am.management.handlers.management.api.JerseySpringTest)

Example 12 with Page

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

the class JdbcAuditReporterTest method testReporter_searchTypes.

@Test
public void testReporter_searchTypes() {
    int loop = 10;
    List<String> types = new ArrayList<>();
    for (int i = 0; i < loop; ++i) {
        Audit reportable = buildRandomAudit(ReferenceType.DOMAIN, "testReporter_searchUser");
        if (i % 2 == 0) {
            types.add(reportable.getType());
        }
        auditReporter.report(reportable);
    }
    waitBulkLoadFlush();
    AuditReportableCriteria criteria = new AuditReportableCriteria.Builder().types(types).build();
    TestObserver<Page<Audit>> test = auditReporter.search(ReferenceType.DOMAIN, "testReporter_searchUser", criteria, 0, 20).test();
    test.awaitTerminalEvent();
    test.assertNoErrors();
    test.assertValue(page -> page.getTotalCount() == types.size());
    test.assertValue(page -> page.getCurrentPage() == 0);
    test.assertValue(page -> page.getData() != null && page.getData().size() == types.size());
    test.assertValue(page -> page.getData().stream().map(Audit::getId).distinct().count() == types.size());
    test.assertValue(page -> page.getData().stream().map(Audit::getType).collect(Collectors.toList()).containsAll(types));
}
Also used : Audit(io.gravitee.am.reporter.api.audit.model.Audit) AuditReportableCriteria(io.gravitee.am.reporter.api.audit.AuditReportableCriteria) Page(io.gravitee.am.model.common.Page) AuditAccessPoint(io.gravitee.am.reporter.api.audit.model.AuditAccessPoint) Test(org.junit.Test)

Example 13 with Page

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

the class DefaultOrganizationUpgraderTest method shouldCreateSystemRoles_setOwnerRoleToExistingUsers.

@Test
public void shouldCreateSystemRoles_setOwnerRoleToExistingUsers() {
    int totalUsers = 22;
    User user = new User();
    user.setId("user-1");
    Role adminRole = new Role();
    adminRole.setId("role-1");
    Organization organization = new Organization();
    organization.setId("orga-id");
    List<User> users = Stream.iterate(0, i -> i++).limit(10).map(i -> user).collect(Collectors.toList());
    when(organizationService.createDefault()).thenReturn(Maybe.just(organization));
    when(organizationService.update(any(), any(), any())).thenReturn(Single.just(organization));
    when(domainService.findById("admin")).thenReturn(Maybe.just(new Domain()));
    when(domainService.delete("admin")).thenReturn(Completable.complete());
    when(roleService.findDefaultRole(Organization.DEFAULT, DefaultRole.ORGANIZATION_OWNER, ReferenceType.ORGANIZATION)).thenReturn(// Role has been created.
    Maybe.just(adminRole));
    when(userService.findAll(eq(ReferenceType.ORGANIZATION), eq(Organization.DEFAULT), eq(0), anyInt())).thenReturn(Single.just(new Page<>(users, 0, totalUsers)));
    when(userService.findAll(eq(ReferenceType.ORGANIZATION), eq(Organization.DEFAULT), eq(1), anyInt())).thenReturn(Single.just(new Page<>(users, 1, totalUsers)));
    when(userService.findAll(eq(ReferenceType.ORGANIZATION), eq(Organization.DEFAULT), eq(2), anyInt())).thenReturn(Single.just(new Page<>(Arrays.asList(user, user), 2, totalUsers)));
    doNothing().when(membershipHelper).setOrganizationRole(eq(user), eq(adminRole));
    when(organizationService.findById(Organization.DEFAULT)).thenReturn(Single.just(organization));
    when(identityProviderService.findAll(ReferenceType.ORGANIZATION, Organization.DEFAULT)).thenReturn(Flowable.empty());
    cut.upgrade();
    verify(membershipHelper, times(totalUsers)).setOrganizationRole(eq(user), eq(adminRole));
    verify(membershipHelper, times(1)).setPlatformAdminRole();
}
Also used : DefaultRole(io.gravitee.am.model.permissions.DefaultRole) Arrays(java.util.Arrays) Mock(org.mockito.Mock) Completable(io.reactivex.Completable) Maybe(io.reactivex.Maybe) RunWith(org.junit.runner.RunWith) HashMap(java.util.HashMap) TechnicalException(io.gravitee.am.repository.exceptions.TechnicalException) Single(io.reactivex.Single) Flowable(io.reactivex.Flowable) NewIdentityProvider(io.gravitee.am.service.model.NewIdentityProvider) Before(org.junit.Before) io.gravitee.am.service(io.gravitee.am.service) Page(io.gravitee.am.model.common.Page) Assert.assertTrue(org.junit.Assert.assertTrue) Test(org.junit.Test) DefaultRole(io.gravitee.am.model.permissions.DefaultRole) PatchOrganization(io.gravitee.am.service.model.PatchOrganization) Collectors(java.util.stream.Collectors) io.gravitee.am.model(io.gravitee.am.model) Matchers.any(org.mockito.Matchers.any) Mockito(org.mockito.Mockito) List(java.util.List) Stream(java.util.stream.Stream) Environment(org.springframework.core.env.Environment) Assert.assertFalse(org.junit.Assert.assertFalse) MembershipHelper(io.gravitee.am.management.service.impl.upgrades.helpers.MembershipHelper) MockitoJUnitRunner(org.mockito.junit.MockitoJUnitRunner) Collections(java.util.Collections) PatchOrganization(io.gravitee.am.service.model.PatchOrganization) Page(io.gravitee.am.model.common.Page) Test(org.junit.Test)

Example 14 with Page

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

the class ScopeRepositoryTest method testFindByDomain.

@Test
public void testFindByDomain() {
    // create scope
    Scope scope = new Scope();
    scope.setName("testName");
    scope.setDomain("testDomain");
    scope.setClaims(Arrays.asList("claim1", "claim2"));
    scopeRepository.create(scope).blockingGet();
    // fetch scopes
    TestObserver<Page<Scope>> testObserver = scopeRepository.findByDomain("testDomain", 0, Integer.MAX_VALUE).test();
    testObserver.awaitTerminalEvent();
    testObserver.assertComplete();
    testObserver.assertNoErrors();
    testObserver.assertValue(scopes -> scopes.getData().size() == 1);
    testObserver.assertValue(scopes -> scopes.getData().iterator().next().getClaims().size() == 2);
}
Also used : Scope(io.gravitee.am.model.oauth2.Scope) Page(io.gravitee.am.model.common.Page) Test(org.junit.Test) AbstractManagementTest(io.gravitee.am.repository.management.AbstractManagementTest)

Example 15 with Page

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

the class ScopeRepositoryTest method testSearch_wildcard.

@Test
public void testSearch_wildcard() {
    String scopeName = "testName";
    Scope scope = new Scope();
    scope.setDomain("mydomain");
    scope.setName("testName");
    scope.setKey("testName");
    scope.setClaims(Arrays.asList("claim1", "claim2"));
    Scope scopeCreated = scopeRepository.create(scope).blockingGet();
    TestObserver<Page<Scope>> testObserver = scopeRepository.search(scopeCreated.getDomain(), "*" + scopeName + "*", 0, Integer.MAX_VALUE).test();
    testObserver.awaitTerminalEvent();
    testObserver.assertComplete();
    testObserver.assertNoErrors();
    testObserver.assertValue(s -> s.getData().size() == 1);
    testObserver.assertValue(scopes -> scopes.getData().iterator().next().getClaims().size() == 2);
}
Also used : Scope(io.gravitee.am.model.oauth2.Scope) Page(io.gravitee.am.model.common.Page) 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