/** * */ package org.identityconnectors.oracle; import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.assertNotNull; import static org.testng.AssertJUnit.assertNull; import org.identityconnectors.framework.common.objects.Attribute; import org.identityconnectors.framework.common.objects.AttributeBuilder; import org.identityconnectors.framework.common.objects.AttributeUtil; import org.identityconnectors.framework.common.objects.Name; import org.identityconnectors.framework.common.objects.ObjectClass; import org.identityconnectors.framework.common.objects.Uid; import org.testng.annotations.Test; /** * Tests for OracleAttributeNormalizer * * @author kitko * */ public class OracleFullNormalizerTest { @Test public void testNormalizeAttribute() { OracleFullNormalizer normalizer = new OracleFullNormalizer(OracleConfigurationTest.createSystemConfiguration() .getCSSetup()); ObjectClass objectClass = ObjectClass.ACCOUNT; assertNull(normalizer.normalizeAttribute(objectClass, null)); Attribute attr = normalizer.normalizeAttribute(objectClass, AttributeBuilder.build("dummy", "dummyValue")); assertNotNull(attr); assertEquals("dummyValue", AttributeUtil.getSingleValue(attr)); // User is by default case sensitive/insensitive, depends on // OracleUserAttributeCS attr = normalizer.normalizeAttribute(objectClass, AttributeBuilder.build(Name.NAME, "myName")); assertNotNull(attr); assertEquals(OracleUserAttribute.USER.getFormatting().isToUpper() ? "myName".toUpperCase() : "myName", AttributeUtil.getSingleValue(attr)); attr = normalizer.normalizeAttribute(objectClass, AttributeBuilder.build(Name.NAME .toLowerCase(), "myName")); assertNotNull(attr); assertEquals(OracleUserAttribute.USER.getFormatting().isToUpper() ? "myName".toUpperCase() : "myName", AttributeUtil.getSingleValue(attr)); // We normalize also UID attr = normalizer.normalizeAttribute(objectClass, AttributeBuilder .build(Uid.NAME, "myUid")); assertNotNull(attr); assertEquals("MYUID", AttributeUtil.getSingleValue(attr)); attr = normalizer.normalizeAttribute(objectClass, AttributeBuilder.build(Uid.NAME .toLowerCase(), "myUid")); assertNotNull(attr); assertEquals("MYUID", AttributeUtil.getSingleValue(attr)); // By default we do not uppercase globalname attr = normalizer.normalizeAttribute(objectClass, AttributeBuilder.build( OracleConstants.ORACLE_GLOBAL_ATTR_NAME, "myGlobalName")); assertNotNull(attr); assertEquals("myGlobalName", AttributeUtil.getSingleValue(attr)); attr = normalizer.normalizeAttribute(objectClass, AttributeBuilder.build( OracleConstants.ORACLE_PROFILE_ATTR_NAME, "myProfile")); assertNotNull(attr); assertEquals("myProfile".toUpperCase(), AttributeUtil.getSingleValue(attr)); attr = normalizer.normalizeAttribute(objectClass, AttributeBuilder.build( OracleConstants.ORACLE_PROFILE_ATTR_NAME.toLowerCase(), "myProfile")); assertNotNull(attr); assertEquals("myProfile".toUpperCase(), AttributeUtil.getSingleValue(attr)); attr = normalizer.normalizeAttribute(objectClass, AttributeBuilder.build( OracleConstants.ORACLE_DEF_TS_ATTR_NAME, "myDefTs")); assertNotNull(attr); assertEquals("myDefTs".toUpperCase(), AttributeUtil.getSingleValue(attr)); attr = normalizer.normalizeAttribute(objectClass, AttributeBuilder.build( OracleConstants.ORACLE_DEF_TS_ATTR_NAME.toLowerCase(), "myDefTs")); assertNotNull(attr); assertEquals("myDefTs".toUpperCase(), AttributeUtil.getSingleValue(attr)); attr = normalizer.normalizeAttribute(objectClass, AttributeBuilder.build( OracleConstants.ORACLE_TEMP_TS_ATTR_NAME, "myTempTs")); assertNotNull(attr); assertEquals("myTempTs".toUpperCase(), AttributeUtil.getSingleValue(attr)); attr = normalizer.normalizeAttribute(objectClass, AttributeBuilder.build( OracleConstants.ORACLE_TEMP_TS_ATTR_NAME.toLowerCase(), "myTempTs")); assertNotNull(attr); assertEquals("myTempTs".toUpperCase(), AttributeUtil.getSingleValue(attr)); attr = normalizer.normalizeAttribute(objectClass, AttributeBuilder.build( OracleConstants.ORACLE_PRIVS_ATTR_NAME, "myPriv")); assertNotNull(attr); assertEquals("myPriv".toUpperCase(), AttributeUtil.getSingleValue(attr)); attr = normalizer.normalizeAttribute(objectClass, AttributeBuilder.build( OracleConstants.ORACLE_PRIVS_ATTR_NAME.toLowerCase(), "myPriv")); assertNotNull(attr); assertEquals("myPriv".toUpperCase(), AttributeUtil.getSingleValue(attr)); attr = normalizer.normalizeAttribute(objectClass, AttributeBuilder.build( OracleConstants.ORACLE_ROLES_ATTR_NAME, "myRole")); assertNotNull(attr); assertEquals("myRole".toUpperCase(), AttributeUtil.getSingleValue(attr)); attr = normalizer.normalizeAttribute(objectClass, AttributeBuilder.build( OracleConstants.ORACLE_ROLES_ATTR_NAME.toLowerCase(), "myRole")); assertNotNull(attr); assertEquals("myRole".toUpperCase(), AttributeUtil.getSingleValue(attr)); attr = normalizer.normalizeAttribute(objectClass, AttributeBuilder.build( OracleConstants.ORACLE_ROLES_ATTR_NAME.toUpperCase(), "myRole")); assertNotNull(attr); assertEquals("myRole".toUpperCase(), AttributeUtil.getSingleValue(attr)); } }