package at.gv.egiz.eaaf.core.impl.idp.auth.attributes; import org.apache.commons.lang3.StringUtils; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import at.gv.egiz.eaaf.core.api.data.PvpAttributeDefinitions; import at.gv.egiz.eaaf.core.api.idp.IAttributeBuilder; import at.gv.egiz.eaaf.core.api.idp.IAuthData; import at.gv.egiz.eaaf.core.exceptions.UnavailableAttributeException; import at.gv.egiz.eaaf.core.impl.idp.AuthenticationData; import at.gv.egiz.eaaf.core.impl.idp.builder.attributes.PrincipalNameAttributeBuilder; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("/SpringTest-context_eaaf_core.xml") public class FamilyNameAttrBuilderTest extends AbstractAttributeBuilderTest { private final IAttributeBuilder attrBuilde = new PrincipalNameAttributeBuilder(); @Test public void performTest_ok() { try { final IAuthData authData = buildAuthData(); final String value = attrBuilde.build(spConfig, authData, gen); Assert.assertEquals("FamilyName does NOT match", authData.getFamilyName(), value); } catch (final Exception e) { Assert.assertTrue("Attr. builder has an exception", e == null); } } @Test public void performTest_null() { try { final AuthenticationData authData = (AuthenticationData) buildAuthData(); authData.setFamilyName(null); attrBuilde.build(spConfig, authData, gen); Assert.assertTrue("Attr. Builder provide no 'UnavailableAttributeException'", false); } catch (final Exception e) { Assert.assertTrue("Attr. builder provide wrong exception", e instanceof UnavailableAttributeException); Assert.assertEquals("Attr. name in exception does NOT match", PvpAttributeDefinitions.PRINCIPAL_NAME_NAME, ((UnavailableAttributeException) e).getAttributeName()); } } @Test public void performTest_emtpty() { try { final AuthenticationData authData = (AuthenticationData) buildAuthData(); authData.setFamilyName(StringUtils.EMPTY); attrBuilde.build(spConfig, authData, gen); Assert.assertTrue("Attr. Builder provide no 'UnavailableAttributeException'", false); } catch (final Exception e) { Assert.assertTrue("Attr. builder provide wrong exception", e instanceof UnavailableAttributeException); Assert.assertEquals("Attr. name in exception does NOT match", PvpAttributeDefinitions.PRINCIPAL_NAME_NAME, ((UnavailableAttributeException) e).getAttributeName()); } } }