/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.security.userstore.config; import java.util.Collection; import java.util.List; import java.util.TreeSet; import org.jdom.Document; import org.jdom.Element; import org.junit.Test; import com.enonic.cms.framework.util.JDOMUtil; import com.enonic.cms.api.plugin.ext.userstore.UserStoreConfig; import com.enonic.cms.api.plugin.ext.userstore.UserStoreConfigField; import com.enonic.cms.api.plugin.ext.userstore.UserFieldType; import static org.junit.Assert.*; public class UserStoreConfigXmlCreatorTest { @Test public void testCreateDocumentAddressField() { Collection<UserStoreConfigField> userFieldConfigs = new TreeSet<UserStoreConfigField>(); UserStoreConfigField fieldConfig = new UserStoreConfigField( UserFieldType.ADDRESS ); fieldConfig.setReadOnly( true ); userFieldConfigs.add( fieldConfig ); UserStoreConfig userStoreConfig = new UserStoreConfig(); userStoreConfig.setUserFieldConfigs( userFieldConfigs ); Document checked = UserStoreConfigXmlCreator.createDocument( userStoreConfig ); Element rootElement = checked.getRootElement(); Element userFields = JDOMUtil.getElement( rootElement, "user-fields" ); List<Element> children = userFields.getChildren(); for ( Element child : children ) { assertEquals( "true", child.getAttributeValue( "readonly" ) ); assertEquals( "false", child.getAttributeValue( "required" ) ); assertEquals( "false", child.getAttributeValue( "remote" ) ); assertEquals( "true", child.getAttributeValue( "iso" ) ); } } @Test public void testCreateDocumentFirstnameField() { Collection<UserStoreConfigField> userFieldConfigs = new TreeSet<UserStoreConfigField>(); UserStoreConfigField fieldConfig = new UserStoreConfigField( UserFieldType.FIRST_NAME ); fieldConfig.setRequired( true ); userFieldConfigs.add( fieldConfig ); UserStoreConfig userStoreConfig = new UserStoreConfig(); userStoreConfig.setUserFieldConfigs( userFieldConfigs ); Document checked = UserStoreConfigXmlCreator.createDocument( userStoreConfig ); Element rootElement = checked.getRootElement(); Element userFields = JDOMUtil.getElement( rootElement, "user-fields" ); List<Element> children = userFields.getChildren(); for ( Element child : children ) { assertEquals( "false", child.getAttributeValue( "readonly" ) ); assertEquals( "true", child.getAttributeValue( "required" ) ); assertEquals( "false", child.getAttributeValue( "remote" ) ); } } }