PrismObject<UserType> user = users.get(0); PrismContainer<SecurityQuestionAnswerType> questionAnswerContainer = user.findContainer(SchemaConstants.PATH_SECURITY_QUESTIONS_QUESTION_ANSWER); if (questionAnswerContainer == null || questionAnswerContainer.isEmpty()){
protected WorkItemType getWorkItem(Task task, OperationResult result) throws SchemaException, SecurityViolationException, ConfigurationException, ObjectNotFoundException, ExpressionEvaluationException, CommunicationException { //Collection<SelectorOptions<GetOperationOptions>> options = GetOperationOptions.resolveItemsNamed(WorkItemType.F_TASK_REF); SearchResultList<WorkItemType> itemsAll = modelService.searchContainers(WorkItemType.class, null, null, task, result); if (itemsAll.size() != 1) { System.out.println("Unexpected # of work items: " + itemsAll.size()); for (WorkItemType workItem : itemsAll) { System.out.println(PrismUtil.serializeQuietly(prismContext, workItem)); } } assertEquals("Wrong # of total work items", 1, itemsAll.size()); return itemsAll.get(0); }
@Test public void test151SearchDisabledAccounts() throws Exception { final String TEST_NAME = "test151SearchDisabledAccounts"; displayTestTitle(TEST_NAME); // GIVEN Task task = taskManager.createTaskInstance(TestDummy.class.getName() + "." + TEST_NAME); OperationResult result = task.getResult(); ObjectQuery query = ObjectQueryUtil.createResourceAndObjectClassQuery(RESOURCE_DUMMY_OID, ProvisioningTestUtil.getDefaultAccountObjectClass(resourceType), prismContext); ObjectQueryUtil.filterAnd(query.getFilter(), prismContext.queryFor(ShadowType.class) .item(ShadowType.F_ACTIVATION, ActivationType.F_ADMINISTRATIVE_STATUS).eq(ActivationStatusType.DISABLED) .buildFilter(), prismContext); syncServiceMock.reset(); // WHEN SearchResultList<PrismObject<ShadowType>> resultList = provisioningService.searchObjects(ShadowType.class, query, null, null, result); // THEN result.computeStatus(); display(result); TestUtil.assertSuccess(result); assertEquals("Unexpected number of search results", 1, resultList.size()); PrismObject<ShadowType> shadow = resultList.get(0); display("Shadow", shadow); assertActivationAdministrativeStatus(shadow, ActivationStatusType.DISABLED); assertSteadyResource(); }
@Test public void test010HireIndigo() throws Exception { final String TEST_NAME = "test010HireIndigo"; TestUtil.displayTestTitle(this, TEST_NAME); // GIVEN Task task = taskManager.createTaskInstance(TestAdHocCertification.class.getName() + "." + TEST_NAME); task.setOwner(userAdministrator.asPrismObject()); OperationResult result = task.getResult(); // WHEN TestUtil.displayWhen(TEST_NAME); assignOrg(USER_INDIGO_OID, ORG_LABORATORY_OID, task, result); // THEN TestUtil.displayThen(TEST_NAME); result.computeStatus(); TestUtil.assertSuccess(result); SearchResultList<PrismObject<AccessCertificationCampaignType>> campaigns = getAllCampaigns(result); assertEquals("Wrong # of campaigns", 1, campaigns.size()); AccessCertificationCampaignType campaign = campaigns.get(0).asObjectable(); campaign = getCampaignWithCases(campaign.getOid()); display("campaign", campaign); assertSanityAfterCampaignStart(campaign, assignmentCertificationDefinition, 1); // beware, maybe not all details would match (in the future) - then adapt this test assertPercentCompleteAll(campaign, 0, 0, 0); // no cases, no problems assertCasesCount(campaign.getOid(), 1); }
@Test public void test160SearchLockedAccounts() throws Exception { final String TEST_NAME = "test160SearchLockedAccounts"; displayTestTitle(TEST_NAME); // GIVEN Task task = taskManager.createTaskInstance(TestDummy.class.getName() + "." + TEST_NAME); OperationResult result = task.getResult(); ObjectQuery query = ObjectQueryUtil.createResourceAndObjectClassQuery(RESOURCE_DUMMY_OID, ProvisioningTestUtil.getDefaultAccountObjectClass(resourceType), prismContext); ObjectQueryUtil.filterAnd(query.getFilter(), prismContext.queryFor(ShadowType.class) .item(ShadowType.F_ACTIVATION, ActivationType.F_LOCKOUT_STATUS).eq(LockoutStatusType.LOCKED) .buildFilter(), prismContext); syncServiceMock.reset(); // WHEN SearchResultList<PrismObject<ShadowType>> resultList = provisioningService.searchObjects(ShadowType.class, query, null, null, result); // THEN result.computeStatus(); display(result); TestUtil.assertSuccess(result); assertEquals("Unexpected number of search results", 1, resultList.size()); PrismObject<ShadowType> shadow = resultList.get(0); display("Shadow", shadow); assertShadowLockout(shadow, LockoutStatusType.LOCKED); assertSteadyResource(); }
private PrismObject<ShadowType> getGroupShadow(DummyResourceContoller dummyResourceCtl, QName objectClass, String name, Task task, OperationResult result) throws Exception { PrismObject<ResourceType> resource = dummyResourceCtl.getResource(); ObjectClassComplexTypeDefinition groupDef = RefinedResourceSchema.getRefinedSchema(resource) .findObjectClassDefinition(dummyResourceCtl.getGroupObjectClass()); ResourceAttributeDefinition<Object> nameDef = groupDef.findAttributeDefinition(SchemaConstants.ICFS_NAME); assertNotNull("No icfs:name definition", nameDef); ObjectQuery query = ObjectQueryUtil.createResourceAndObjectClassFilterPrefix(resource.getOid(), objectClass, prismContext) .and().item(ItemPath.create(ShadowType.F_ATTRIBUTES, SchemaConstants.ICFS_NAME), nameDef).eq(name) .build(); SearchResultList<PrismObject<ShadowType>> shadows = modelService.searchObjects(ShadowType.class, query, null, task, result); assertEquals("Wrong # of results for " + name + " of " + objectClass + " at " + resource, 1, shadows.size()); return shadows.get(0); }
assertCounterIncrement(InternalCounters.SHADOW_FETCH_OPERATION_COUNT, 1); assertEquals("Wrong number of shadows found", 1, foundShadows.size()); PrismObject<ShadowType> foundShadow = foundShadows.get(0); assertAccountShadowModel(foundShadow, accountOid, ACCOUNT_JACK_DUMMY_UPCASE_NAME, resourceDummyUpcaseType, caseIgnoreMatchingRule);
@Test public void test910CleanupCampaignsAllow() throws Exception { final String TEST_NAME = "test910CleanupCampaignsAllow"; TestUtil.displayTestTitle(this, TEST_NAME); login(getUserFromRepo(USER_ADMINISTRATOR_OID)); // GIVEN Task task = taskManager.createTaskInstance(TestCertificationBasic.class.getName() + "." + TEST_NAME); task.setOwner(userAdministrator.asPrismObject()); OperationResult result = task.getResult(); // WHEN+THEN TestUtil.displayWhen(TEST_NAME); CleanupPolicyType policy = new CleanupPolicyType().maxRecords(0); certificationService.cleanupCampaigns(policy, task, result); result.computeStatus(); display("result", result); assertSuccess(result); SearchResultList<PrismObject<AccessCertificationCampaignType>> campaigns = getAllCampaigns(result); display("campaigns", campaigns); assertEquals("Wrong # of remaining campaigns", 1, campaigns.size()); PrismObject<AccessCertificationCampaignType> remainingCampaign = campaigns.get(0); assertEquals("Wrong OID of the remaining campaign", roleInducementCampaignOid, remainingCampaign.getOid()); certificationManager.closeCampaign(roleInducementCampaignOid, true, task, result); certificationService.cleanupCampaigns(policy, task, result); result.computeStatus(); assertSuccess(result); SearchResultList<PrismObject<AccessCertificationCampaignType>> campaigns2 = getAllCampaigns(result); display("campaigns after 2nd cleanup", campaigns2); assertEquals("Wrong # of remaining campaigns", 0, campaigns2.size()); }
display("items2", items2); assertEquals("Wrong # of work items found using 'create timestamp' query", 1, items2.size()); created = items2.get(0).getCreateTimestamp();
display("Search results", searchResults); assertEquals("Wrong number of search results", 1, searchResults.size()); PrismObject<UserType> foundUser = searchResults.get(0); assertUser(foundUser, "found user") .assertName(USER_JACK_USERNAME)
LOGGER.warn("More than one owner of {}: {}", object, owners); owner = (PrismObject<F>) owners.get(0); } catch (SchemaException e) { LOGGER.warn("Cannot resolve owner of {}: {}", object, e.getMessage(), e);
PrismObject<AccessCertificationCampaignType> remainingCampaign = campaignsAfter.get(0); assertEquals("Wrong name of the remaining campaign", "c1", remainingCampaign.getName().getOrig());
PrismObject<UserType> foundUser = searchResults.get(0); assertUser(foundUser, "found user") .assertName(USER_JACK_USERNAME)