package org.apereo.cas.support.wsfederation; import org.junit.Test; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import static org.junit.Assert.*; /** * Test cases for {@link WsFederationAttributeMutator}. * @author John Gasper * @since 4.2.0 */ public class WsFederationAttributeMutatorTests extends AbstractWsFederationTests { private static final String UPN_PARAM = "upn"; @Test public void verifyModifyAttributes() { final Map<String, List<Object>> attributes = new HashMap<>(); final List<Object> values = new ArrayList<>(); values.add("test@example.com"); attributes.put(UPN_PARAM, values); final WsFederationAttributeMutator instance = new WsFederationAttributeMutatorImpl(); instance.modifyAttributes(attributes); assertTrue(attributes.containsKey("test")); assertTrue("newtest".equalsIgnoreCase(attributes.get("test").get(0).toString())); assertTrue(attributes.containsKey(UPN_PARAM)); assertTrue("testing".equalsIgnoreCase(attributes.get(UPN_PARAM).get(0).toString())); } private static class WsFederationAttributeMutatorImpl implements WsFederationAttributeMutator { private static final long serialVersionUID = -1858140387002752668L; @Override public void modifyAttributes(final Map<String, List<Object>> attributes) { List<Object> values = new ArrayList<>(); values.add("newtest"); attributes.put("test", values); values = new ArrayList<>(); values.add("testing"); attributes.put(UPN_PARAM, values); } } }