package de.groothues.mysaml.assertion.impl; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import java.util.HashMap; import java.util.List; import java.util.Map; import org.junit.Before; import org.junit.Test; import de.groothues.mysaml.assertion.PropertyKeys; import de.groothues.mysaml.assertion.SubjectConfirmationBuilder; import de.groothues.mysaml.assertion.SubjectConfirmationType; import de.groothues.mysaml.assertion.impl.SubjectConfirmationBuilderImpl; import de.groothues.mysaml.impl.SamlContextImpl; public class SubjectConfirmationBuilderImplTest { private static final String TEST_SUBJECT_CONFIRMATION_METHOD = "urn:test:subject:confirmation:method"; private SubjectConfirmationBuilder subjectConfirmationBuilder; @Before public void setUp() { subjectConfirmationBuilder = new SubjectConfirmationBuilderImpl(new SamlContextImpl()); } @Test public void testBuildWithoutRuntimeProperties() { List<SubjectConfirmationType> subjectConfirmations = subjectConfirmationBuilder.build(null); assertNotNull(subjectConfirmations); assertEquals(1, subjectConfirmations.size()); SubjectConfirmationType subjectConfirmation = subjectConfirmations.iterator().next(); assertNotNull(subjectConfirmation.getMethod()); assertNotNull(subjectConfirmation.getSubjectConfirmationData()); } @Test public void testBuild() { final int index = 1; Map<String, String> runtimeProperties = new HashMap<String, String>(); runtimeProperties.put(getIndexedProperty(PropertyKeys.SUBJECT_CONFIRMATION_METHOD_KEY, index), TEST_SUBJECT_CONFIRMATION_METHOD); List<SubjectConfirmationType> subjectConfirmations = subjectConfirmationBuilder.build(runtimeProperties); assertNotNull(subjectConfirmations); assertEquals(1, subjectConfirmations.size()); SubjectConfirmationType subjectConfirmation = subjectConfirmations.iterator().next(); assertEquals(TEST_SUBJECT_CONFIRMATION_METHOD, subjectConfirmation.getMethod()); } private String getIndexedProperty(String key, final int index) { return key + "." + index; } }