package test.at.gv.egovernment.moa.id.auth.builder; import at.gv.egovernment.moa.id.BuildException; import at.gv.egovernment.moa.id.auth.builder.SAMLArtifactBuilder; import at.gv.egovernment.moa.util.Base64Utils; import test.at.gv.egovernment.moa.id.UnitTestCase; /** * @author Paul Ivancsics * @version $Id$ */ public class SAMLArtifactBuilderTest extends UnitTestCase { private static final String AUTH_URL = "https://moa.gv.at/auth/"; private static final String SESSION_ID_1 = "123456"; private static final String SESSION_ID_2 = "123457"; private static final String SESSION_ID_3 = "1234567"; private SAMLArtifactBuilder builder; private byte[] artifact1; private byte[] artifact2; private byte[] artifact3; public SAMLArtifactBuilderTest(String name) { super(name); } protected void setUp() throws Exception { builder = new SAMLArtifactBuilder(); artifact1 = Base64Utils.decode(builder.build(AUTH_URL, SESSION_ID_1), false); artifact2 = Base64Utils.decode(builder.build(AUTH_URL, SESSION_ID_2), false); artifact3 = Base64Utils.decode(builder.build(AUTH_URL, SESSION_ID_3), false); } public void testBuildArtifactLength() throws BuildException { assertEquals(42, artifact1.length); assertEquals(42, artifact2.length); assertEquals(42, artifact3.length); } public void testBuildSameArtifact() throws Exception { byte[] artifact1Clone = Base64Utils.decode(builder.build(AUTH_URL, SESSION_ID_1), false); assertEquals(new String(artifact1), new String(artifact1Clone)); } public void testBuildDifferentArtifacts() throws BuildException { String msg = "SAML Artifacts should be different"; assertFalse(msg, new String(artifact1).equals(new String(artifact2))); assertFalse(msg, new String(artifact1).equals(new String(artifact3))); assertFalse(msg, new String(artifact3).equals(new String(artifact2))); } }