use of io.gravitee.am.model.common.Page in project gravitee-access-management by gravitee-io.
the class OrganizationUserRepositoryTest method testSearch_strict.
private void testSearch_strict(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() == 1);
testObserver.assertValue(users -> users.getData().iterator().next().getUsername().equals(user.getUsername()));
}
use of io.gravitee.am.model.common.Page in project gravitee-access-management by gravitee-io.
the class OrganizationUserRepositoryTest method testScimSearch_byGivenName_NE_paged.
@Test
public void testScimSearch_byGivenName_NE_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");
user2.setAdditionalInformation(Collections.singletonMap("given_name", "theother"));
organizationUserRepository.create(user2).blockingGet();
FilterCriteria criteria = new FilterCriteria();
criteria.setFilterName("name.givenName");
criteria.setFilterValue("gname1");
criteria.setOperator("ne");
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() == 1);
testObserverP0.assertValue(users -> users.getData().iterator().next().getUsername().equals(user2.getUsername()));
}
use of io.gravitee.am.model.common.Page in project gravitee-access-management by gravitee-io.
the class DomainNotificationServiceTest method shouldNotifyUserFromGroup.
@Test
public void shouldNotifyUserFromGroup() throws Exception {
final Membership member = new Membership();
member.setMemberType(MemberType.GROUP);
member.setMemberId("groupId");
when(membershipService.findByCriteria(eq(ReferenceType.DOMAIN), eq(DOMAIN_ID), any())).thenReturn(Flowable.just(member), Flowable.empty());
final List<User> tenUsers = IntStream.range(0, 10).mapToObj(x -> {
final User user = new User();
user.setId("" + x);
user.setEmail(x + "@acme.fr");
return user;
}).collect(Collectors.toList());
final User singleUser = new User();
singleUser.setId("single");
singleUser.setEmail("single@acme.fr");
when(groupService.findMembers(any(), any(), any(), anyInt(), anyInt())).thenReturn(Single.just(new Page<>(tenUsers, 0, 11)), Single.just(new Page<>(Arrays.asList(singleUser), 1, 11)));
when(emailService.getFinalEmail(any(), any(), any(), any(), any())).thenReturn(new Email());
cut.registerCertificateExpiration(certificate);
// wait subscription execution
Thread.sleep(1000);
verify(notifierService, times(11)).register(any(), any(), any());
verify(userService, never()).findById(any(), any(), any());
}
use of io.gravitee.am.model.common.Page in project gravitee-access-management by gravitee-io.
the class UserRepositoryTest method testSearch_byUsername_paged.
@Test
public void testSearch_byUsername_paged() {
final String domain = "domain";
// create user
User user1 = new User();
user1.setReferenceType(ReferenceType.DOMAIN);
user1.setReferenceId(domain);
user1.setUsername("testUsername1");
userRepository.create(user1).blockingGet();
User user2 = new User();
user2.setReferenceType(ReferenceType.DOMAIN);
user2.setReferenceId(domain);
user2.setUsername("testUsername2");
userRepository.create(user2).blockingGet();
User user3 = new User();
user3.setReferenceType(ReferenceType.DOMAIN);
user3.setReferenceId(domain);
user3.setUsername("testUsername3");
userRepository.create(user3).blockingGet();
// fetch user (page 0)
TestObserver<Page<User>> testObserverP0 = userRepository.search(ReferenceType.DOMAIN, domain, "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 = userRepository.search(ReferenceType.DOMAIN, domain, "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()));
}
use of io.gravitee.am.model.common.Page in project gravitee-access-management by gravitee-io.
the class UserRepositoryTest method testSearch_wildcard.
private void testSearch_wildcard(String query) {
final String domain = "domain";
// create user
User user = new User();
user.setReferenceType(ReferenceType.DOMAIN);
user.setReferenceId(domain);
user.setFirstName("firstName");
user.setLastName("lastName");
user.setDisplayName("displayName");
user.setUsername("testUsername");
user.setEmail("user.name@mail.com");
userRepository.create(user).blockingGet();
User user2 = new User();
user2.setReferenceType(ReferenceType.DOMAIN);
user2.setReferenceId(domain);
user2.setFirstName("firstName2");
user2.setLastName("lastName2");
user2.setDisplayName("displayName2");
user2.setUsername("testUsername2");
user2.setEmail("user.name@mail.com2");
userRepository.create(user2).blockingGet();
// fetch user
TestObserver<Page<User>> testObserver = userRepository.search(ReferenceType.DOMAIN, domain, query, 0, 10).test();
testObserver.awaitTerminalEvent();
testObserver.assertComplete();
testObserver.assertNoErrors();
testObserver.assertValue(users -> users.getData().size() == 2);
}
Aggregations