/* * Copyright (c) 2013 EMC Corporation * All Rights Reserved */ package com.emc.storageos.security.authorization; import java.util.ArrayList; import java.util.List; import org.junit.Assert; import org.junit.Test; public class UserMappingsTest { @Test public void testUserMappings() { BasePermissionsHelper.UserMapping userMapping1 = new BasePermissionsHelper.UserMapping(); userMapping1.setDomain("test.com"); BasePermissionsHelper.UserMapping userMapping2 = new BasePermissionsHelper.UserMapping(); userMapping2.setDomain("other"); Assert.assertFalse(userMapping1.isMatch(userMapping2)); Assert.assertFalse(userMapping2.isMatch(userMapping1)); userMapping2.setDomain("Test.Com"); Assert.assertTrue(userMapping1.isMatch(userMapping2)); Assert.assertTrue(userMapping2.isMatch(userMapping1)); List<String> groups1 = new ArrayList<String>(); groups1.add("testGroup"); userMapping1.setGroups(groups1); Assert.assertTrue(userMapping1.isMatch(userMapping2)); Assert.assertTrue(userMapping2.isMatch(userMapping1)); BasePermissionsHelper.UserMappingAttribute mappingAttribute1 = new BasePermissionsHelper.UserMappingAttribute(); mappingAttribute1.setKey("testkey"); List<String> values = new ArrayList<String>(); values.add("testvalue"); mappingAttribute1.setValues(values); List<BasePermissionsHelper.UserMappingAttribute> mappingAttributes1 = new ArrayList<BasePermissionsHelper.UserMappingAttribute>(); mappingAttributes1.add(mappingAttribute1); userMapping2.setAttributes(mappingAttributes1); Assert.assertFalse(userMapping1.isMatch(userMapping2)); Assert.assertFalse(userMapping2.isMatch(userMapping1)); List<String> groups2 = new ArrayList<String>(); groups2.add("otherGroup"); userMapping2.setGroups(groups2); Assert.assertFalse(userMapping1.isMatch(userMapping2)); Assert.assertFalse(userMapping2.isMatch(userMapping1)); groups2.clear(); groups2.addAll(groups1); Assert.assertTrue(userMapping1.isMatch(userMapping2)); Assert.assertTrue(userMapping2.isMatch(userMapping1)); groups1.add("testGroup2"); Assert.assertFalse(userMapping1.isMatch(userMapping2)); Assert.assertFalse(userMapping2.isMatch(userMapping1)); groups2.addAll(groups1); BasePermissionsHelper.UserMappingAttribute mappingAttribute2 = new BasePermissionsHelper.UserMappingAttribute(); mappingAttribute2.setKey("TESTKEY"); List<String> values2 = new ArrayList<String>(); values2.add("testvalue2"); mappingAttribute2.setValues(values2); List<BasePermissionsHelper.UserMappingAttribute> mappingAttributes2 = new ArrayList<BasePermissionsHelper.UserMappingAttribute>(); mappingAttributes2.add(mappingAttribute2); userMapping1.setAttributes(mappingAttributes2); Assert.assertFalse(userMapping1.isMatch(userMapping2)); Assert.assertFalse(userMapping2.isMatch(userMapping1)); mappingAttribute2.getValues().addAll(mappingAttribute1.getValues()); Assert.assertTrue(userMapping1.isMatch(userMapping2)); Assert.assertTrue(userMapping2.isMatch(userMapping1)); mappingAttribute1.getValues().add("testValue3"); Assert.assertFalse(userMapping1.isMatch(userMapping2)); Assert.assertFalse(userMapping2.isMatch(userMapping1)); BasePermissionsHelper.UserMappingAttribute mappingAttribute3 = new BasePermissionsHelper.UserMappingAttribute(); mappingAttribute3.setKey("testkey3"); List<String> values3 = new ArrayList<String>(); values3.add("testvalue4"); mappingAttribute3.setValues(values3); mappingAttributes1.add(mappingAttribute3); Assert.assertFalse(userMapping1.isMatch(userMapping2)); Assert.assertFalse(userMapping2.isMatch(userMapping1)); mappingAttributes2.add(mappingAttribute3); Assert.assertFalse(userMapping1.isMatch(userMapping2)); Assert.assertFalse(userMapping2.isMatch(userMapping1)); mappingAttribute2.getValues().add("TESTVALUE3"); Assert.assertTrue(userMapping1.isMatch(userMapping2)); Assert.assertTrue(userMapping2.isMatch(userMapping1)); } }