private void handleSearchById(Operation get) { String principalId = getIdFromPrincipalByIdRequest(get); DeferredResult<Principal> result = provider.getPrincipal(get, encode(principalId)); result.whenComplete((principal, ex) -> { if (ex != null) { if (ex.getCause() instanceof ServiceNotFoundException) { get.fail(Operation.STATUS_CODE_NOT_FOUND, ex.getCause(), ex.getCause()); return; } get.fail(ex); return; } if (principal == null) { get.fail(new Throwable("Principal does not exist!")); return; } get.setBody(principal).complete(); }); }
private void handleSearchByCriteria(String criteria, String roles, Operation get) { DeferredResult<List<Principal>> result = provider.getPrincipals(get, criteria); if (roles != null && roles.equalsIgnoreCase(ROLES_QUERY_VALUE)) { result.thenCompose(principals -> getAllRolesForPrincipals(this, get, principals)) .thenAccept(principalRoles -> get.setBody(principalRoles)) .whenCompleteNotify(get); return; } result.thenAccept(principals -> get.setBody(principals)) .whenCompleteNotify(get); }
@Override public void handleStart(Operation startPost) { provider = AuthUtil.getPreferredPrincipalProvider(); provider.init(this); startPost.complete(); }
principal.id = principal.email; DeferredResult<Principal> result = provider.createPrincipal(null, principal); principal = result.getNow(new Principal()); result = provider.deletePrincipal(null, principal.id); TestContext ctx1 = testCreate(1); result.whenComplete((p, ex) -> { ctx1.await(); result = provider.getPrincipal(null, principal.id); TestContext ctx2 = testCreate(1); result.whenComplete((p, ex) -> {
principal.id = principal.email; DeferredResult<Principal> result = provider.createPrincipal(null, principal); principal = result.getNow(new Principal()); principal.name = "NewName"; result = provider.updatePrincipal(null, principal); ctx1.await(); result = provider.getPrincipal(null, principal.email);
principal.id = principal.email; DeferredResult<Principal> result = provider.createPrincipal(null, principal); ctx.await(); result = provider.getPrincipal(null, principal.email);
@Test public void testSimpleGetGroupsForPrincipal() { DeferredResult<Set<String>> result = provider.getAllGroupsForPrincipal(null, USER_EMAIL_ADMIN); TestContext ctx = testCreate(1); Set<String> results = new HashSet<>(); result.whenComplete((groups, ex) -> { if (ex != null) { ctx.failIteration(ex); return; } results.addAll(groups); ctx.completeIteration(); }); ctx.await(); assertTrue(results.contains("superusers@admiral.com")); }
provider.getPrincipalByCredentials(post, principalId, dto.password) .thenCompose( principal -> SecurityContextUtil.getSecurityContext(this, post,
assertNotNull(organization); DeferredResult<Set<String>> result = provider.getAllGroupsForPrincipal(null, USER_GROUP_SUPERUSERS);
@Test public void testGetPrincipals() { String criteria = "i"; List<String> expectedPrincipals = Arrays.asList(USER_EMAIL_ADMIN, USER_EMAIL_BASIC_USER, USER_EMAIL_GLORIA, USER_EMAIL_CONNIE, USER_EMAIL_ADMIN2, USER_GROUP_SUPERUSERS, USER_GROUP_DEVELOPERS, USER_EMAIL_CLOUD_ADMIN, USER_EMAIL_PROJECT_ADMIN_1, USER_EMAIL_PROJECT_MEMBER_1, USER_EMAIL_PROJECT_VIEWER_1, USER_EMAIL_BASIC_UNASSIGNED_USER); DeferredResult<List<Principal>> result = provider.getPrincipals(null, criteria); TestContext ctx = testCreate(1); result.whenComplete((p, ex) -> { if (ex != null) { ctx.failIteration(ex); return; } ctx.completeIteration(); }); ctx.await(); List<Principal> principals = result.getNow(new ArrayList<>()); assertEquals(expectedPrincipals.size(), principals.size()); for (Principal p : principals) { if (p.id.equals(USER_EMAIL_CONNIE)) { assertTrue(p.groups.contains(USER_GROUP_DEVELOPERS)); } assertTrue(expectedPrincipals.contains(p.id)); } }
@Before public void injectHost() throws Throwable { host.assumeIdentity(buildUserServicePath(USER_EMAIL_ADMIN)); provider.init(privilegedTestService); }
@Test public void testGetPrincipal() { String principalId = "connie@admiral.com"; DeferredResult<Principal> result = provider.getPrincipal(null, principalId); TestContext ctx = testCreate(1); result.whenComplete((p, ex) -> { if (ex != null) { ctx.failIteration(ex); return; } ctx.completeIteration(); }); ctx.await(); Principal principal = result.getNow(new Principal()); assertNotNull(principal); assertEquals(principalId, principal.email); assertEquals(principalId, principal.id); assertEquals("Connie", principal.name); assertEquals(PrincipalType.USER, principal.type); assertTrue(principal.groups.contains(USER_GROUP_DEVELOPERS)); }
DeferredResult<Set<String>> result = provider.getAllGroupsForPrincipal(null, USER_EMAIL_ADMIN);
@Test public void testGetPrincipalsOfTypeGroup() { String principalId = "superusers@admiral.com"; DeferredResult<List<Principal>> result = provider.getPrincipals(null, principalId); TestContext ctx = testCreate(1); result.whenComplete((p, ex) -> { if (ex != null) { ctx.failIteration(ex); return; } ctx.completeIteration(); }); ctx.await(); Principal principal = result.getNow(Collections.singletonList(new Principal())).get(0); assertNotNull(principal); assertEquals(principalId, principal.id); assertEquals("superusers@admiral.com", principal.name); assertEquals(PrincipalType.GROUP, principal.type); }
DeferredResult<List<Principal>> result = provider.getPrincipals(null, lazyPeonUser.email); result = provider.getPrincipals(null, lazyPeonUser.name);