package at.gv.egiz.eaaf.core.impl.idp.auth.attributes; import java.util.UUID; 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.idp.IAttributeBuilder; import at.gv.egiz.eaaf.core.api.idp.IAuthData; import at.gv.egiz.eaaf.core.exceptions.AttributeBuilderException; import at.gv.egiz.eaaf.core.impl.idp.AuthenticationData; import at.gv.egiz.eaaf.core.impl.idp.builder.attributes.PiiTransactionIdAttributeBuilder; import at.gv.egiz.eaaf.core.impl.utils.TransactionIdUtils; /** * Attribute builder to generate an attribute that holds the unique TransactionId for this process. *
* The attribute-value is read from {@link TransactionIdUtils} with method getTransactionId() * * @author tlenz * */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("/SpringTest-context_eaaf_core.xml") public class PiiTransactionIdAttributeBuilderTest extends AbstractAttributeBuilderTest { private final IAttributeBuilder attrBuilder = new PiiTransactionIdAttributeBuilder(); @Test public void attributeName() { Assert.assertEquals("Wrong attribute name", "urn:eidgvat:attributes.piiTransactionId", attrBuilder.getName()); } @Test public void checkEmptyAttribute() { String value = attrBuilder.buildEmpty(gen); Assert.assertNull("Attr. not null", value); } @Test public void noPiiTransactionId() throws AttributeBuilderException, Exception { String value = attrBuilder.build(spConfig, buildAuthData(), gen); Assert.assertNull("Attr. not null", value); } @Test public void withPiiTransactionId() throws AttributeBuilderException, Exception { String piiTransId = UUID.randomUUID().toString(); IAuthData authData = buildAuthData(); ((AuthenticationData)authData).setGenericData("urn:eidgvat:attributes.piiTransactionId", piiTransId); String value = attrBuilder.build(spConfig, authData, gen); Assert.assertEquals("piiTransactionId", piiTransId, value); } }