PrismPropertyDefinition kindPropertyDef = (PrismPropertyDefinition) weaponTypeDefIter.next(); PrismAsserts.assertDefinition(kindPropertyDef, WEAPON_KIND_QNAME, DOMUtil.XSD_STRING, 1, 1); assertEquals("Wrong kindPropertyDef displayName", "Weapon kind", kindPropertyDef.getDisplayName()); assertFalse("kindPropertyDef IS operational", kindPropertyDef.isOperational()); assertEquals("Wrong createTimestampPropertyDef displayName", "Create timestamp", createTimestampPropertyDef.getDisplayName()); assertTrue("createTimestampPropertyDef not operational", createTimestampPropertyDef.isOperational());
private void assertConfigurationPropertyDefinition(PrismPropertyDefinition propDef, QName expectedType, int expectedMinOccurs, int expectedMaxOccurs, String expectedDisplayName, String expectedHelp) { PrismAsserts.assertDefinition(propDef, propDef.getName(), expectedType, expectedMinOccurs, expectedMaxOccurs); assertEquals("Wrong displayName in "+propDef.getName()+" definition", expectedDisplayName, propDef.getDisplayName()); assertEquals("Wrong help in "+propDef.getName()+" definition", expectedHelp, propDef.getHelp()); }
@Override public void validate(PrismPropertyDefinition<PolyString> propDef, String name) throws Exception { assertNotNull("No definition for name in user", propDef); assertEquals("Wrong name displayName", "ObjectType.name", propDef.getDisplayName()); assertTrue(name+" not readable", propDef.canRead()); assertTrue(name+" is creatable", !propDef.canAdd()); assertTrue(name+" is modifiable", !propDef.canModify()); } }, PrismTestUtil.createPolyString("jack"));
@Override public void validate(PrismPropertyDefinition<String> propDef, String name) throws Exception { assertNotNull("No definition for description in user", propDef); assertEquals("Wrong description displayName", "Comment", propDef.getDisplayName()); assertTrue(name+" not readable", propDef.canRead()); assertTrue(name+" is creatable", !propDef.canAdd()); assertTrue(name+" not modifiable", propDef.canModify()); } }, "Where's the rum?");
@Override public void validate(PrismPropertyDefinition<PolyString> propDef, String name) throws Exception { assertNotNull("No definition for additionalName in user", propDef); assertEquals("Wrong additionalName displayName", "Middle Name", propDef.getDisplayName()); assertTrue(name+" of "+user+" is readable", !propDef.canRead()); assertTrue(name+" of "+user+" is creatable", !propDef.canAdd()); assertTrue(name+" of "+user+" not modifiable", propDef.canModify()); } });
@Override public void validate(PrismPropertyDefinition<PolyString> propDef, String name) throws Exception { assertNotNull("No definition for additionalName in user", propDef); assertEquals("Wrong additionalName displayName", "Middle Name", propDef.getDisplayName()); assertTrue(name+" is readable", !propDef.canRead()); assertTrue(name+" is creatable", !propDef.canAdd()); assertTrue(name+" not modifiable", propDef.canModify()); } });
@Override public void validate(PrismPropertyDefinition<PolyString> propDef, String name) throws Exception { assertNotNull("No definition for name in user", propDef); assertEquals("Wrong name displayName", "ObjectType.name", propDef.getDisplayName()); assertTrue(name+" of "+user+" not readable", propDef.canRead()); assertTrue(name+" of "+user+" is creatable", !propDef.canAdd()); assertTrue(name+" of "+user+" is modifiable", !propDef.canModify()); } });
@Test public void test010ConnectorSchemaSanity() throws Exception { final String TEST_NAME = "test010ConnectorSchemaSanity"; TestUtil.displayTestTitle(TEST_NAME); IntegrationTestTools.assertConnectorSchemaSanity(connectorSchema, "LDAP connector", true); PrismContainerDefinition configurationDefinition = connectorSchema.findItemDefinition(ResourceType.F_CONNECTOR_CONFIGURATION.getLocalPart(), PrismContainerDefinition.class); PrismContainerDefinition configurationPropertiesDefinition = configurationDefinition.findContainerDefinition(SchemaConstants.CONNECTOR_SCHEMA_CONFIGURATION_PROPERTIES_ELEMENT_QNAME); PrismPropertyDefinition<String> propHost = configurationPropertiesDefinition.findPropertyDefinition(new ItemName(UcfTestUtil.CONNECTOR_LDAP_NS,"host")); assertNotNull("No definition for configuration property 'host' in connector schema", propHost); PrismAsserts.assertDefinition(propHost, new QName(UcfTestUtil.CONNECTOR_LDAP_NS,"host"), DOMUtil.XSD_STRING, 1, 1); assertEquals("Wrong property 'host' display name", "Host", propHost.getDisplayName()); assertEquals("Wrong property 'host' help", "The name or IP address of the LDAP server host.", propHost.getHelp()); assertEquals("Wrong property 'host' display order", (Integer)1, propHost.getDisplayOrder()); // MID-2642 PrismPropertyDefinition<String> propPort = configurationPropertiesDefinition.findPropertyDefinition(new ItemName(UcfTestUtil.CONNECTOR_LDAP_NS,"port")); assertNotNull("No definition for configuration property 'port' in connector schema", propPort); PrismAsserts.assertDefinition(propPort, new QName(UcfTestUtil.CONNECTOR_LDAP_NS,"port"), DOMUtil.XSD_INT, 0, 1); assertEquals("Wrong property 'port' display name", "Port number", propPort.getDisplayName()); assertEquals("Wrong property 'port' help", "LDAP server port number.", propPort.getHelp()); assertEquals("Wrong property 'port' display order", (Integer)2, propPort.getDisplayOrder()); // MID-2642 }
@Test public void test250EditSchemaRole() throws Exception { final String TEST_NAME="test250EditSchemaRole"; displayTestTitle(TEST_NAME); // GIVEN Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); PrismObjectDefinition<RoleType> roleDef = prismContext.getSchemaRegistry().findObjectDefinitionByCompileTimeClass(RoleType.class); PrismObject<RoleType> role = roleDef.instantiate(); // WHEN displayWhen(TEST_NAME); PrismObjectDefinition<RoleType> editDef = getEditObjectDefinition(role); // THEN displayThen(TEST_NAME); // TODO PrismPropertyDefinition requestableDef = editDef.findPropertyDefinition(RoleType.F_REQUESTABLE); assertNotNull("No definition for requestable in role", requestableDef); assertEquals("Wrong requestable displayName", "Can request", requestableDef.getDisplayName()); assertSteadyResources(); }
@Test public void test260EditShadowSchemaKindIntent() throws Exception { final String TEST_NAME="test260EditShadowSchemaKindIntent"; displayTestTitle(TEST_NAME); // GIVEN Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); ResourceShadowDiscriminator discr = new ResourceShadowDiscriminator(RESOURCE_DUMMY_OID, ShadowKindType.ACCOUNT, null); // WHEN displayWhen(TEST_NAME); PrismObjectDefinition<ShadowType> editDef = modelInteractionService.getEditShadowDefinition(discr, AuthorizationPhaseType.REQUEST, task, result); // THEN displayThen(TEST_NAME); result.computeStatus(); TestUtil.assertSuccess(result); PrismPropertyDefinition<PolyString> nameDef = editDef.findPropertyDefinition(ShadowType.F_NAME); assertNotNull("No definition for name in shadow", nameDef); assertEquals("Wrong shadow name displayName", "ObjectType.name", nameDef.getDisplayName()); assertTrue("additionalName not readable", nameDef.canRead()); PrismPropertyDefinition<Object> attrFullNameDef = editDef.findPropertyDefinition(dummyResourceCtl.getAttributeFullnamePath()); assertNotNull("No definition for fullname attribute in shadow", attrFullNameDef); assertEquals("Wrong shadow fullname attribute displayName", "Full Name", attrFullNameDef.getDisplayName()); assertTrue("additionalName not readable", attrFullNameDef.canRead()); assertSteadyResources(); }
@Override public void validate(PrismPropertyDefinition<String> propDef, String name) throws Exception { assertNotNull("No definition for preferredLanguage in user", propDef); assertEquals("Wrong preferredLanguage displayName", "Language", propDef.getDisplayName()); PrismReferenceValue valueEnumerationRef = propDef.getValueEnumerationRef(); assertNotNull("No valueEnumerationRef for preferredLanguage", valueEnumerationRef); assertEquals("Wrong valueEnumerationRef OID for preferredLanguage", LOOKUP_LANGUAGES_OID, valueEnumerationRef.getOid()); assertTrue(name+" is readable", !propDef.canRead()); assertTrue(name+" is creatable", !propDef.canAdd()); assertTrue(name+" is modifiable", !propDef.canModify()); } });
@Test public void test261EditShadowSchemaObjectclass() throws Exception { final String TEST_NAME="test261EditShadowSchemaObjectclass"; displayTestTitle(TEST_NAME); // GIVEN Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); ResourceShadowDiscriminator discr = new ResourceShadowDiscriminator(RESOURCE_DUMMY_OID, dummyResourceCtl.getAccountObjectClassQName()); IntegrationTestTools.display("Discr", discr); // WHEN displayWhen(TEST_NAME); PrismObjectDefinition<ShadowType> editDef = modelInteractionService.getEditShadowDefinition(discr, AuthorizationPhaseType.REQUEST, task, result); // THEN displayThen(TEST_NAME); result.computeStatus(); TestUtil.assertSuccess(result); PrismPropertyDefinition<PolyString> nameDef = editDef.findPropertyDefinition(ShadowType.F_NAME); assertNotNull("No definition for name in shadow", nameDef); assertEquals("Wrong shadow name displayName", "ObjectType.name", nameDef.getDisplayName()); assertTrue("additionalName not readable", nameDef.canRead()); PrismPropertyDefinition<Object> attrFullNameDef = editDef.findPropertyDefinition(dummyResourceCtl.getAttributeFullnamePath()); assertNotNull("No definition for fullname attribute in shadow", attrFullNameDef); assertEquals("Wrong shadow fullname attribute displayName", "Full Name", attrFullNameDef.getDisplayName()); assertTrue("additionalName not readable", attrFullNameDef.canRead()); assertSteadyResources(); }
@Override public void validate(PrismPropertyDefinition<String> propDef, String name) throws Exception { assertNotNull("No definition for preferredLanguage in user", propDef); assertEquals("Wrong preferredLanguage displayName", "Language", propDef.getDisplayName()); PrismReferenceValue valueEnumerationRef = propDef.getValueEnumerationRef(); assertNotNull("No valueEnumerationRef for preferredLanguage", valueEnumerationRef); assertEquals("Wrong valueEnumerationRef OID for preferredLanguage", LOOKUP_LANGUAGES_OID, valueEnumerationRef.getOid()); assertTrue(name+" of "+user+" is readable", !propDef.canRead()); assertTrue(name+" of "+user+" is creatable", !propDef.canAdd()); assertTrue(name+" of "+user+" is modifiable", !propDef.canModify()); } });
@Test public void test265EditShadowSchemaNull() throws Exception { final String TEST_NAME="test265EditShadowSchemaNull"; displayTestTitle(TEST_NAME); // GIVEN Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); // WHEN displayWhen(TEST_NAME); PrismObjectDefinition<ShadowType> editDef = modelInteractionService.getEditShadowDefinition(null, AuthorizationPhaseType.REQUEST, task, result); // THEN displayThen(TEST_NAME); result.computeStatus(); TestUtil.assertSuccess(result); PrismPropertyDefinition<PolyString> nameDef = editDef.findPropertyDefinition(ShadowType.F_NAME); assertNotNull("No definition for name in shadow", nameDef); assertEquals("Wrong shadow name displayName", "ObjectType.name", nameDef.getDisplayName()); assertTrue("additionalName not readable", nameDef.canRead()); PrismPropertyDefinition<Object> attrFullNameDef = editDef.findPropertyDefinition(dummyResourceCtl.getAttributeFullnamePath()); assertNull("Unexpected definition for fullname attribute in shadow", attrFullNameDef); assertSteadyResources(); }
@Test public void test263EditShadowSchemaEmpty() throws Exception { final String TEST_NAME="test263EditShadowSchemaEmpty"; displayTestTitle(TEST_NAME); // GIVEN Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); ResourceShadowDiscriminator discr = new ResourceShadowDiscriminator(null, null); IntegrationTestTools.display("Discr", discr); // WHEN displayWhen(TEST_NAME); PrismObjectDefinition<ShadowType> editDef = modelInteractionService.getEditShadowDefinition(discr, AuthorizationPhaseType.REQUEST, task, result); // THEN displayThen(TEST_NAME); result.computeStatus(); TestUtil.assertSuccess(result); PrismPropertyDefinition<PolyString> nameDef = editDef.findPropertyDefinition(ShadowType.F_NAME); assertNotNull("No definition for name in shadow", nameDef); assertEquals("Wrong shadow name displayName", "ObjectType.name", nameDef.getDisplayName()); assertTrue("additionalName not readable", nameDef.canRead()); PrismPropertyDefinition<Object> attrFullNameDef = editDef.findPropertyDefinition(dummyResourceCtl.getAttributeFullnamePath()); assertNull("Unexpected definition for fullname attribute in shadow", attrFullNameDef); assertSteadyResources(); }
assertEquals("Wrong additionalName displayName", "Middle Name", propDef.getDisplayName()); assertTrue("additionalName not readable", propDef.canRead()); }, PrismTestUtil.createPolyString("Jackie")); (Validator<PrismPropertyDefinition<String>>) (propDef, name) -> { assertNotNull("No definition for preferredLanguage in user", propDef); assertEquals("Wrong preferredLanguage displayName", "Language", propDef.getDisplayName()); assertTrue("preferredLanguage not readable", propDef.canRead()); PrismReferenceValue valueEnumerationRef = propDef.getValueEnumerationRef();
assertEquals("Wrong additionalName displayName", "Middle Name", propDef.getDisplayName()); assertTrue("additionalName not readable", propDef.canRead()); }, PrismTestUtil.createPolyString("Jackie")); assertEquals("Wrong preferredLanguage displayName", "Language", propDef.getDisplayName()); assertTrue("preferredLanguage not readable", propDef.canRead()); PrismReferenceValue valueEnumerationRef = propDef.getValueEnumerationRef();
assertEquals("Wrong additionalName displayName", "Middle Name", additionalNameDef.getDisplayName()); assertTrue("additionalName not readable", additionalNameDef.canRead()); PrismAsserts.assertEmphasized(additionalNameDef, false); assertEquals("Wrong preferredLanguage displayName", "Language", preferredLanguageDef.getDisplayName()); assertTrue("preferredLanguage not readable", preferredLanguageDef.canRead()); PrismReferenceValue valueEnumerationRef = preferredLanguageDef.getValueEnumerationRef(); assertEquals("Wrong timezone displayName", "FocusType.timezone", timezoneDef.getDisplayName()); assertTrue("timezone not readable", timezoneDef.canRead()); valueEnumerationRef = timezoneDef.getValueEnumerationRef();
assertEquals("Wrong description displayName", "ObjectType.description", descriptionDef.getDisplayName()); assertTrue("description not readable", descriptionDef.canRead()); assertTrue("description not creatable", descriptionDef.canAdd()); assertEquals("Wrong additionalName displayName", "UserType.additionalName", additionalNameDef.getDisplayName()); assertTrue("additionalName not readable", additionalNameDef.canRead()); assertTrue("additionalName not creatable", additionalNameDef.canAdd()); assertEquals("Wrong preferredLanguage displayName", "FocusType.preferredLanguage", preferredLanguageDef.getDisplayName()); assertTrue("preferredLanguage not readable", preferredLanguageDef.canRead()); assertTrue("preferredLanguage not creatable", preferredLanguageDef.canAdd());
assertEquals("Wrong name displayName", "ObjectType.name", nameDef.getDisplayName()); assertTrue("name not readable", nameDef.canRead()); assertTrue("name is creatable", !nameDef.canAdd()); assertEquals("Wrong additionalName displayName", "Middle Name", additionalNameDef.getDisplayName()); assertTrue("additionalName is readable", !additionalNameDef.canRead()); assertTrue("additionalName is creatable", !additionalNameDef.canAdd()); assertEquals("Wrong preferredLanguage displayName", "Language", preferredLanguageDef.getDisplayName()); PrismReferenceValue valueEnumerationRef = preferredLanguageDef.getValueEnumerationRef(); assertNotNull("No valueEnumerationRef for preferredLanguage", valueEnumerationRef);