public void assertNoAccountByUsername(String username) throws ConnectException, FileNotFoundException, SchemaViolationException, ConflictException, InterruptedException { DummyAccount account = dummyResource.getAccountByUsername(username); assertNull("Unexpected account "+username+" on dummy resource "+getName(), account); }
public DummyAccount addAccount(String userId, String fullName) throws ObjectAlreadyExistsException, SchemaViolationException, ConnectException, FileNotFoundException, ConflictException, InterruptedException { DummyAccount account = new DummyAccount(userId); account.setEnabled(true); account.addAttributeValues(DUMMY_ACCOUNT_ATTRIBUTE_FULLNAME_NAME, fullName); dummyResource.addAccount(account); return account; }
@Override public void initSystem(Task initTask, OperationResult initResult) throws Exception { // DO NOT DO provisioningService.postInit(..) // We want to avoid connector discovery and insert our own connector object // provisioningService.postInit(initResult); connector = repoAddObjectFromFile(CONNECTOR_DUMMY_FILE, initResult); resource = repoAddObjectFromFile(RESOURCE_DUMMY_FILE, initResult); resourceType = resource.asObjectable(); dummyResource = DummyResource.getInstance(); dummyResource.reset(); dummyResource.populateWithDefaultSchema(); DummyObjectClass accountObjectClass = dummyResource.getAccountObjectClass(); accountObjectClass.addAttributeDefinition(ProvisioningTestUtil.CONNID_DESCRIPTION_NAME, String.class); }
/** * Resets the blocking state, error simulation, etc. */ public void reset() { dummyResource.setBreakMode(BreakMode.NONE); dummyResource.setBlockOperations(false); dummyResource.unblockAll(); }
protected void rememberDummyResourceWriteOperationCount(String instanceName) { lastDummyResourceWriteOperationCount = DummyResource.getInstance(instanceName).getWriteOperationCount(); }
public static DummyResourceContoller create(String instanceName, PrismObject<ResourceType> resource) { DummyResourceContoller ctl = new DummyResourceContoller(); ctl.instanceName = instanceName; ctl.dummyResource = DummyResource.getInstance(instanceName); ctl.dummyResource.reset(); ctl.resource = resource; return ctl; }
account = resource.getAccountByUsername(uid.getUidValue(), false); } else if (configuration.getUidMode().equals(DummyConfiguration.UID_MODE_UUID)) { account = resource.getAccountById(uid.getUidValue(), false); } else { throw new IllegalStateException("Unknown UID mode "+configuration.getUidMode()); resource.changeDescriptionIfNeeded(account); String newName = (String)attr.getValue().get(0); try { resource.renameAccount(account.getId(), account.getName(), newName); } catch (ObjectDoesNotExistException e) { throw new org.identityconnectors.framework.common.exceptions.UnknownUidException(e.getMessage(), e); group = resource.getGroupByName(uid.getUidValue(), false); } else if (configuration.getUidMode().equals(DummyConfiguration.UID_MODE_UUID)) { group = resource.getGroupById(uid.getUidValue(), false); } else { throw new IllegalStateException("Unknown UID mode "+configuration.getUidMode()); String newName = (String)attr.getValue().get(0); try { resource.renameGroup(group.getId(), group.getName(), newName); } catch (ObjectDoesNotExistException e) { throw new org.identityconnectors.framework.common.exceptions.UnknownUidException(e.getMessage(), e); priv = resource.getPrivilegeByName(uid.getUidValue(), false); } else if (configuration.getUidMode().equals(DummyConfiguration.UID_MODE_UUID)) { priv = resource.getPrivilegeById(uid.getUidValue(), false);
account = resource.getAccountByUsername(uid.getUidValue()); } else if (configuration.getUidMode().equals(DummyConfiguration.UID_MODE_UUID)) { account = resource.getAccountById(uid.getUidValue()); } else { throw new IllegalStateException("Unknown UID mode "+configuration.getUidMode()); group = resource.getGroupByName(uid.getUidValue()); } else if (configuration.getUidMode().equals(DummyConfiguration.UID_MODE_UUID)) { group = resource.getGroupById(uid.getUidValue()); } else { throw new IllegalStateException("Unknown UID mode "+configuration.getUidMode()); priv = resource.getPrivilegeByName(uid.getUidValue()); } else if (configuration.getUidMode().equals(DummyConfiguration.UID_MODE_UUID)) { priv = resource.getPrivilegeById(uid.getUidValue()); } else { throw new IllegalStateException("Unknown UID mode "+configuration.getUidMode()); org = resource.getOrgByName(uid.getUidValue()); } else if (configuration.getUidMode().equals(DummyConfiguration.UID_MODE_UUID)) { org = resource.getOrgById(uid.getUidValue()); } else { throw new IllegalStateException("Unknown UID mode "+configuration.getUidMode());
protected DummyAccount getDummyAccount(String icfName, String icfUid) throws ConnectException, FileNotFoundException, SchemaViolationException, ConflictException, InterruptedException { if (isIcfNameUidSame()) { return dummyResource.getAccountByUsername(icfName); } else { return dummyResource.getAccountById(icfUid); } }
protected void assertNoDummyGroupMember(String dummyInstanceName, String dummyGroupName, String accountId) throws ConnectException, FileNotFoundException, SchemaViolationException, ConflictException, InterruptedException { DummyResource dummyResource = DummyResource.getInstance(dummyInstanceName); DummyGroup group = dummyResource.getGroupByName(dummyGroupName); IntegrationTestTools.assertNoGroupMember(group, accountId); }
@Override protected DummyObjectClass getObjectClass() throws ConnectException, FileNotFoundException, SchemaViolationException, ConflictException, InterruptedException { return resource.getAccountObjectClass(); }
protected DummyAccount getDummyAccount(String dummyInstanceName, String username) throws SchemaViolationException, ConflictException, InterruptedException { DummyResource dummyResource = DummyResource.getInstance(dummyInstanceName); try { return dummyResource.getAccountByUsername(username); } catch (ConnectException e) { throw new IllegalStateException(e.getMessage(),e); } catch (FileNotFoundException e) { throw new IllegalStateException(e.getMessage(),e); } }
OperationResult result = task.getResult(); assumeAssignmentPolicy(AssignmentPolicyEnforcementType.NONE); getDummyResource().setBreakMode(BreakMode.NONE); dummyResourceAzure.setBreakMode(BreakMode.NONE); dummyResourceAzure.deleteAccountByName(ACCOUNT_OTIS_NAME); dummyResourceAzure.purgeScriptHistory(); dummyAuditService.clear(); reconciliationTaskResultListener.clear(); display("Dummy resource (azure)", dummyResourceAzure.debugDump());
resource.addAccount(newAccount); newObject = newAccount; resource.addGroup(newGroup); newObject = newGroup; resource.addPrivilege(newPriv); newObject = newPriv; resource.addOrg(newOrg); newObject = newOrg;
public void resetBreakMode() { setBreakMode(BreakMode.NONE); }
@Override public void initSystem(Task initTask, OperationResult initResult) throws Exception { super.initSystem(initTask, initResult); initDummyResource(RESOURCE_DUMMY_PURPLE_NAME, RESOURCE_DUMMY_PURPLE_FILE, RESOURCE_DUMMY_PURPLE_OID, controller -> { controller.extendSchemaPirate(); controller.addAttrDef(controller.getDummyResource().getAccountObjectClass(), DUMMY_ACCOUNT_ATTRIBUTE_MATE_NAME, String.class, false, true); }, initTask, initResult); importObjectFromFile(ACCOUNT_JDOE_FILE); importObjectFromFile(ACCOUNT_CREW_FILE); importObjectFromFile(USER_JDOE_FILE); importObjectFromFile(ROLE_TEST_MATE_FILE); DummyAccount jdoe = new DummyAccount("jdoe"); jdoe.addAttributeValue("privileges", "test-mate"); getDummyResource(RESOURCE_DUMMY_PURPLE_NAME).addAccount(jdoe); DummyPrivilege crew = new DummyPrivilege("test-mate"); getDummyResource(RESOURCE_DUMMY_PURPLE_NAME).addPrivilege(crew); }
public void deleteAccount(String name) throws ConnectException, FileNotFoundException, ObjectDoesNotExistException, SchemaViolationException, ConflictException, InterruptedException { dummyResource.deleteAccountByName(name); }
protected DummyAccount getDummyAccountById(String dummyInstanceName, String id) throws SchemaViolationException, ConflictException, InterruptedException { DummyResource dummyResource = DummyResource.getInstance(dummyInstanceName); try { return dummyResource.getAccountById(id); } catch (ConnectException e) { throw new IllegalStateException(e.getMessage(),e); } catch (FileNotFoundException e) { throw new IllegalStateException(e.getMessage(),e); } }
/** * Extend schema in piratey fashion. Arr! This is used in many tests. Lots of attributes, various combination of types, etc. */ public void extendSchemaPirate() throws ConnectException, FileNotFoundException, SchemaViolationException, ConflictException, InterruptedException { populateWithDefaultSchema(); DummyObjectClass accountObjectClass = dummyResource.getAccountObjectClass(); addAttrDef(accountObjectClass, DUMMY_ACCOUNT_ATTRIBUTE_TITLE_NAME, String.class, false, true); addAttrDef(accountObjectClass, DUMMY_ACCOUNT_ATTRIBUTE_SHIP_NAME, String.class, false, false); addAttrDef(accountObjectClass, DUMMY_ACCOUNT_ATTRIBUTE_LOCATION_NAME, String.class, false, false); DummyAttributeDefinition lootAttrDef = addAttrDef(accountObjectClass, DUMMY_ACCOUNT_ATTRIBUTE_LOOT_NAME, Integer.class, false, false); lootAttrDef.setReturnedByDefault(false); DummyAttributeDefinition treasureAttrDef = addAttrDef(accountObjectClass, DUMMY_ACCOUNT_ATTRIBUTE_TREASURE_NAME, String.class, false, false); treasureAttrDef.setReturnedByDefault(false); addAttrDef(accountObjectClass, DUMMY_ACCOUNT_ATTRIBUTE_WEALTH_NAME, Integer.class, false, false); addAttrDef(accountObjectClass, DUMMY_ACCOUNT_ATTRIBUTE_WEAPON_NAME, String.class, false, true); addAttrDef(accountObjectClass, DUMMY_ACCOUNT_ATTRIBUTE_DRINK_NAME, String.class, false, true); addAttrDef(accountObjectClass, DUMMY_ACCOUNT_ATTRIBUTE_QUOTE_NAME, String.class, false, true); addAttrDef(accountObjectClass, DUMMY_ACCOUNT_ATTRIBUTE_GOSSIP_NAME, String.class, false, true); addAttrDef(accountObjectClass, DUMMY_ACCOUNT_ATTRIBUTE_WATER_NAME, String.class, false, false); addAttrDef(accountObjectClass, DUMMY_ACCOUNT_ATTRIBUTE_ENLIST_TIMESTAMP_NAME, ZonedDateTime.class, false, false); DummyObjectClass groupObjectClass = dummyResource.getGroupObjectClass(); addAttrDef(groupObjectClass, DUMMY_GROUP_ATTRIBUTE_DESCRIPTION, String.class, false, false); addAttrDef(groupObjectClass, DUMMY_GROUP_ATTRIBUTE_CC, String.class, false, false); DummyObjectClass privilegeObjectClass = dummyResource.getPrivilegeObjectClass(); addAttrDef(privilegeObjectClass, DUMMY_PRIVILEGE_ATTRIBUTE_POWER, Integer.class, false, false); isExtendedSchema = true; }
public DummyGroupAsserter<Void> assertGroupByName(String name) throws ConnectException, FileNotFoundException, SchemaViolationException, ConflictException, InterruptedException { DummyGroup group = dummyResource.getGroupByName(name); assertNotNull("Group "+name+" does not exist on dummy resource "+getName(), group); return assertGroup(group); }