use of io.gravitee.am.model.common.Page in project gravitee-access-management by gravitee-io.
the class ApplicationRepositoryTest method testFindByDomainPagination.
@Test
public void testFindByDomainPagination() throws TechnicalException {
// create app 1
Application app = new Application();
app.setName("testClientId");
app.setDomain("testDomainPagination");
applicationRepository.create(app).blockingGet();
// create app 2
Application app2 = new Application();
app2.setName("testClientId2");
app2.setDomain("testDomainPagination");
applicationRepository.create(app2).blockingGet();
TestObserver<Page<Application>> testObserver = applicationRepository.findByDomain("testDomainPagination", 1, 1).test();
testObserver.awaitTerminalEvent();
testObserver.assertComplete();
testObserver.assertNoErrors();
testObserver.assertValue(pageApplications -> pageApplications.getTotalCount() == 2 && pageApplications.getData().size() == 1);
}
use of io.gravitee.am.model.common.Page in project gravitee-access-management by gravitee-io.
the class ApplicationRepositoryTest method testSearch_strict.
@Test
public void testSearch_strict() {
final String domain = "domain";
// create app
Application app = new Application();
app.setDomain(domain);
app.setName("clientId");
applicationRepository.create(app).blockingGet();
Application app2 = new Application();
app2.setDomain(domain);
app2.setName("clientId2");
applicationRepository.create(app2).blockingGet();
// fetch user
TestObserver<Page<Application>> testObserver = applicationRepository.search(domain, "clientId", 0, Integer.MAX_VALUE).test();
testObserver.awaitTerminalEvent();
testObserver.assertComplete();
testObserver.assertNoErrors();
testObserver.assertValue(apps -> apps.getData().size() == 1);
testObserver.assertValue(apps -> apps.getTotalCount() == 1);
testObserver.assertValue(apps -> apps.getData().iterator().next().getName().equals(app.getName()));
}
use of io.gravitee.am.model.common.Page in project gravitee-access-management by gravitee-io.
the class ResourceServiceTest method findByDomainAndClient.
@Test
public void findByDomainAndClient() {
when(repository.findByDomainAndClient(DOMAIN_ID, CLIENT_ID, 0, Integer.MAX_VALUE)).thenReturn(Single.just(new Page<>(Collections.emptyList(), 0, 0)));
TestObserver testObserver = service.findByDomainAndClient(DOMAIN_ID, CLIENT_ID, 0, Integer.MAX_VALUE).test();
testObserver.assertComplete().assertNoErrors();
verify(repository, times(1)).findByDomainAndClient(DOMAIN_ID, CLIENT_ID, 0, Integer.MAX_VALUE);
}
use of io.gravitee.am.model.common.Page in project gravitee-access-management by gravitee-io.
the class JdbcUserRepository method search.
@Override
public Single<Page<User>> search(ReferenceType referenceType, String referenceId, String query, int page, int size) {
LOGGER.debug("search({}, {}, {}, {}, {})", referenceType, referenceId, query, page, size);
boolean wildcardSearch = query.contains("*");
String wildcardValue = query.replaceAll("\\*+", "%");
String search = this.databaseDialectHelper.buildSearchUserQuery(wildcardSearch, page, size);
String count = this.databaseDialectHelper.buildCountUserQuery(wildcardSearch);
return fluxToFlowable(template.getDatabaseClient().sql(search).bind(ATTR_COL_VALUE, wildcardSearch ? wildcardValue : query).bind("refId", referenceId).bind("refType", referenceType.name()).map(row -> rowMapper.read(JdbcUser.class, row)).all()).map(this::toEntity).flatMap(app -> completeUser(app).toFlowable(), // single thread to keep order
CONCURRENT_FLATMAP).toList().flatMap(data -> monoToSingle(template.getDatabaseClient().sql(count).bind(ATTR_COL_VALUE, wildcardSearch ? wildcardValue : query).bind("refId", referenceId).bind("refType", referenceType.name()).map(row -> row.get(0, Long.class)).first()).map(total -> new Page<>(data, page, total)));
}
use of io.gravitee.am.model.common.Page in project gravitee-access-management by gravitee-io.
the class ApplicationServiceTest method shouldFindAllPagination.
@Test
public void shouldFindAllPagination() {
Page pageClients = new Page(Collections.singleton(new Application()), 1, 1);
when(applicationRepository.findAll(1, 1)).thenReturn(Single.just(pageClients));
TestObserver<Page<Application>> testObserver = applicationService.findAll(1, 1).test();
testObserver.awaitTerminalEvent();
testObserver.assertComplete();
testObserver.assertNoErrors();
testObserver.assertValue(extensionGrants -> extensionGrants.getData().size() == 1);
}
Aggregations