package de.groothues.mysaml.impl; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertSame; import org.junit.Before; import org.junit.Test; import org.w3c.dom.Document; import de.groothues.mysaml.SamlContext; import de.groothues.mysaml.assertion.AssertionBuilder; import de.groothues.mysaml.assertion.AudienceRestrictionBuilder; import de.groothues.mysaml.assertion.AuthnContextBuilder; import de.groothues.mysaml.assertion.AuthnStatementBuilder; import de.groothues.mysaml.assertion.ConditionsBuilder; import de.groothues.mysaml.assertion.IssuerBuilder; import de.groothues.mysaml.assertion.SignedAssertionBuilder; import de.groothues.mysaml.assertion.SubjectBuilder; import de.groothues.mysaml.assertion.SubjectConfirmationBuilder; import de.groothues.mysaml.assertion.SubjectConfirmationDataBuilder; import de.groothues.mysaml.assertion.SubjectNameIDBuilder; import de.groothues.mysaml.signature.DocumentSigner; import de.groothues.mysaml.validator.Validator; public class SamlContextImplGetBuildersTest { private SamlContext samlContext; @Before public void setUp() throws Exception { samlContext = new SamlContextImpl(); } @Test public void testGetAssertionBuilderSingleton() { AssertionBuilder assertionBuilder1 = samlContext.getAssertionBuilder(); assertNotNull(assertionBuilder1); AssertionBuilder assertionBuilder2 = samlContext.getAssertionBuilder(); assertSame(assertionBuilder1, assertionBuilder2); } @Test public void testGetSignedAssertionBuilderSingleton() { SignedAssertionBuilder signedAssertionBuilder1 = samlContext.getSignedAssertionBuilder(); assertNotNull(signedAssertionBuilder1); SignedAssertionBuilder signedAssertionBuilder2 = samlContext.getSignedAssertionBuilder(); assertSame(signedAssertionBuilder1, signedAssertionBuilder2); } @Test public void testGetIssuerBuilderSingleton() { IssuerBuilder issuerBuilder1 = samlContext.getIssuerBuilder(); assertNotNull(issuerBuilder1); IssuerBuilder issuerBuilder2 = samlContext.getIssuerBuilder(); assertSame(issuerBuilder1, issuerBuilder2); } @Test public void testGetSubjectBuilderSingleton() { SubjectBuilder subjectBuilder1 = samlContext.getSubjectBuilder(); assertNotNull(subjectBuilder1); SubjectBuilder subjectBuilder2 = samlContext.getSubjectBuilder(); assertSame(subjectBuilder1, subjectBuilder2); } @Test public void testGetNameIDBuilderSingleton() { SubjectNameIDBuilder nameIDBuilder1 = samlContext.getNameIDBuilder(); assertNotNull(nameIDBuilder1); SubjectNameIDBuilder nameIDBuilder2 = samlContext.getNameIDBuilder(); assertSame(nameIDBuilder1, nameIDBuilder2); } @Test public void testGetSubjectConfirmationBuilderSingleton() { SubjectConfirmationBuilder subjectConfirmationBuilder1 = samlContext.getSubjectConfirmationBuilder(); assertNotNull(subjectConfirmationBuilder1); SubjectConfirmationBuilder subjectConfirmationBuilder2 = samlContext.getSubjectConfirmationBuilder(); assertSame(subjectConfirmationBuilder1, subjectConfirmationBuilder2); } @Test public void testGetSubjectConfirmationDataBuilderSingleton() { SubjectConfirmationDataBuilder subjectConfirmationDataBuilder1 = samlContext.getSubjectConfirmationDataBuilder(); assertNotNull(subjectConfirmationDataBuilder1); SubjectConfirmationDataBuilder subjectConfirmationDataBuilder2 = samlContext.getSubjectConfirmationDataBuilder(); assertSame(subjectConfirmationDataBuilder1, subjectConfirmationDataBuilder2); } @Test public void testGetConditionsBuilderSingleton() { ConditionsBuilder conditionsBuilder1 = samlContext.getConditionsBuilder(); assertNotNull(conditionsBuilder1); ConditionsBuilder conditionsBuilder2 = samlContext.getConditionsBuilder(); assertSame(conditionsBuilder1, conditionsBuilder2); } @Test public void testGetAudienceRestrictionBuilderSingleton() { AudienceRestrictionBuilder audienceRestrictionBuilder1 = samlContext.getAudienceRestrictionBuilder(); assertNotNull(audienceRestrictionBuilder1); AudienceRestrictionBuilder audienceRestrictionBuilder2 = samlContext.getAudienceRestrictionBuilder(); assertSame(audienceRestrictionBuilder1, audienceRestrictionBuilder2); } @Test public void testGetAuthnStatementBuilderSingleton() { AuthnStatementBuilder authnStatementBuilder1 = samlContext.getAuthnStatementBuilder(); assertNotNull(authnStatementBuilder1); AuthnStatementBuilder authnStatementBuilder2 = samlContext.getAuthnStatementBuilder(); assertSame(authnStatementBuilder1, authnStatementBuilder2); } @Test public void testGetAuthnContextBuilderSingleton() { AuthnContextBuilder authnContextBuilder1 = samlContext.getAuthnContextBuilder(); assertNotNull(authnContextBuilder1); AuthnContextBuilder authnContextBuilder2 = samlContext.getAuthnContextBuilder(); assertSame(authnContextBuilder1, authnContextBuilder2); } @Test public void testGetDocumentSignerSingleton() { DocumentSigner documentSigner1 = samlContext.getDocumentSigner(); assertNotNull(documentSigner1); DocumentSigner documentSigner2 = samlContext.getDocumentSigner(); assertSame(documentSigner1, documentSigner2); } @Test public void testGetDocumentValidatorSingleton() { Validator<Document> documentValidator1 = samlContext.getSignatureValidator(); assertNotNull(documentValidator1); Validator<Document> documentValidator2 = samlContext.getSignatureValidator(); assertSame(documentValidator1, documentValidator2); } }