public static void assertAttributeDefinition(ResourceAttribute<?> attr, QName expectedType, int minOccurs, int maxOccurs, boolean canRead, boolean canCreate, boolean canUpdate, Class<?> expectedAttributeDefinitionClass) { ResourceAttributeDefinition definition = attr.getDefinition(); QName attrName = attr.getElementName(); assertNotNull("No definition for attribute "+attrName, definition); //assertEquals("Wrong class of definition for attribute"+attrName, expetcedAttributeDefinitionClass, definition.getClass()); assertTrue("Wrong class of definition for attribute"+attrName+" (expected: " + expectedAttributeDefinitionClass + ", real: " + definition.getClass() + ")", expectedAttributeDefinitionClass.isAssignableFrom(definition.getClass())); assertEquals("Wrong type in definition for attribute"+attrName, expectedType, definition.getTypeName()); assertEquals("Wrong minOccurs in definition for attribute"+attrName, minOccurs, definition.getMinOccurs()); assertEquals("Wrong maxOccurs in definition for attribute"+attrName, maxOccurs, definition.getMaxOccurs()); assertEquals("Wrong canRead in definition for attribute"+attrName, canRead, definition.canRead()); assertEquals("Wrong canCreate in definition for attribute"+attrName, canCreate, definition.canAdd()); assertEquals("Wrong canUpdate in definition for attribute"+attrName, canUpdate, definition.canModify()); }
@Override protected void assertAccountDefinition(ObjectClassComplexTypeDefinition accountDef) { assertEquals("Unexpected number of definitions", 4, accountDef.getDefinitions().size()); ResourceAttributeDefinition<String> usernameDef = accountDef.findAttributeDefinition(ATTR_USERNAME); assertNotNull("No definition for username", usernameDef); assertEquals(1, usernameDef.getMaxOccurs()); assertEquals(1, usernameDef.getMinOccurs()); assertTrue("No username create", usernameDef.canAdd()); assertTrue("No username update", usernameDef.canModify()); assertTrue("No username read", usernameDef.canRead()); }
assertEquals(1, uidDef.getMaxOccurs()); assertEquals(0, uidDef.getMinOccurs()); assertFalse("No UID display name", StringUtils.isBlank(uidDef.getDisplayName())); assertEquals(1, nameDef.getMaxOccurs()); assertEquals(1, nameDef.getMinOccurs()); assertFalse("No NAME displayName", StringUtils.isBlank(nameDef.getDisplayName()));
assertEquals(1, fullnameDef.getMaxOccurs()); assertEquals(1, fullnameDef.getMinOccurs()); assertTrue("No fullname create", fullnameDef.canAdd()); assertEquals("Wrong maxOccurs", -1, membersDef.getMaxOccurs()); assertEquals("Wrong minOccurs", 0, membersDef.getMinOccurs()); assertTrue("No members create", membersDef.canAdd());
@Override protected void assertAccountDefinition(ObjectClassComplexTypeDefinition accountDef) { assertEquals("Unexpected number of definitions", 5, accountDef.getDefinitions().size()); ResourceAttributeDefinition<String> guidDef = accountDef.findAttributeDefinition(ATTR_GUID); assertNotNull("No definition for guid", guidDef); assertEquals(1, guidDef.getMaxOccurs()); assertEquals(1, guidDef.getMinOccurs()); assertTrue("No guid create", guidDef.canAdd()); assertTrue("No guid update", guidDef.canModify()); assertTrue("No guid read", guidDef.canRead()); ResourceAttributeDefinition<String> unameDef = accountDef.findAttributeDefinition(ATTR_UNAME); assertNotNull("No definition for uname", unameDef); assertEquals(1, unameDef.getMaxOccurs()); assertEquals(0, unameDef.getMinOccurs()); // TODO: should be 1 assertTrue("No uname create", unameDef.canAdd()); assertTrue("No uname update", unameDef.canModify()); assertTrue("No uname read", unameDef.canRead()); assertNotNull("Null secondary identifiers in account", accountDef.getSecondaryIdentifiers()); assertFalse("Empty secondary identifiers in account", accountDef.getSecondaryIdentifiers().isEmpty()); }
assertEquals(1, usernameDef.getMaxOccurs()); assertEquals(1, usernameDef.getMinOccurs()); assertTrue("No username create", usernameDef.canAdd()); assertEquals(1, fullnameDef.getMaxOccurs()); assertEquals(0, fullnameDef.getMinOccurs()); assertTrue("No fullname create", fullnameDef.canAdd());
assertEquals(1, usernameDef.getMaxOccurs()); assertEquals(1, usernameDef.getMinOccurs()); assertTrue("No username create", usernameDef.canAdd()); assertEquals(1, fullnameDef.getMaxOccurs()); assertEquals(0, fullnameDef.getMinOccurs()); assertTrue("No fullname create", fullnameDef.canAdd());
assertEquals(1, idPrimaryDef.getMaxOccurs()); assertEquals(0, idPrimaryDef.getMinOccurs()); assertFalse("UID has create", idPrimaryDef.canAdd()); assertEquals(1, idSecondaryDef.getMaxOccurs()); assertEquals(1, idSecondaryDef.getMinOccurs()); assertTrue("No NAME create", idSecondaryDef.canAdd()); assertEquals(-1, cnDef.getMaxOccurs()); assertEquals(1, cnDef.getMinOccurs()); assertTrue("No cn create", cnDef.canAdd()); assertEquals(-1, jpegPhoto.getMaxOccurs()); assertEquals(0, jpegPhoto.getMinOccurs()); assertTrue("No jpegPhoto create", jpegPhoto.canAdd()); assertEquals(1, dsDef.getMaxOccurs()); assertEquals(0, dsDef.getMinOccurs()); assertTrue("No ds-pwp-account-disabled read", dsDef.canRead()); assertEquals(-1, memberOfDef.getMaxOccurs()); assertEquals(0, memberOfDef.getMinOccurs()); assertFalse("isMemberOf create", memberOfDef.canAdd()); assertEquals(-1, labeledUriDef.getMaxOccurs()); assertEquals(0, labeledUriDef.getMinOccurs()); assertTrue("No labeledUri create", labeledUriDef.canAdd()); assertEquals(-1, secretaryDef.getMaxOccurs());
assertEquals(1, uidDef.getMaxOccurs()); assertEquals(0, uidDef.getMinOccurs()); assertFalse("No UID display name", StringUtils.isBlank(uidDef.getDisplayName())); assertEquals(1, nameDef.getMaxOccurs()); assertEquals(1, nameDef.getMinOccurs()); assertFalse("No NAME displayName", StringUtils.isBlank(nameDef.getDisplayName())); assertEquals(1, fullnameDef.getMaxOccurs()); assertEquals(1, fullnameDef.getMinOccurs()); assertTrue("No fullname create", fullnameDef.canAdd()); assertEquals("Wrong maxOccurs", -1, membersDef.getMaxOccurs()); assertEquals("Wrong minOccurs", 0, membersDef.getMinOccurs()); assertTrue("No members create", membersDef.canAdd());
assertEquals(-1, memberOfDef.getMaxOccurs()); assertEquals(0, memberOfDef.getMinOccurs()); assertFalse("isMemberOf create", memberOfDef.canAdd()); assertEquals(-1, secretaryDef.getMaxOccurs()); assertEquals(0, secretaryDef.getMinOccurs()); assertTrue("No secretary create", secretaryDef.canAdd());
schemaLimitations.setMaxOccurs(schemaAttrDef.getMaxOccurs()); schemaLimitations.setProcessing(schemaAttrDef.getProcessing()); schemaLimitations.getAccess().setAdd(schemaAttrDef.canAdd());