package de.groothues.mysaml.validator.impl; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import org.junit.Before; import org.junit.Test; import org.w3c.dom.Document; import de.groothues.mysaml.SamlContext; import de.groothues.mysaml.assertion.AssertionType; import de.groothues.mysaml.assertion.SignedAssertionBuilder; import de.groothues.mysaml.impl.SamlContextImpl; import de.groothues.mysaml.validator.Validator; import de.groothues.mysaml.validator.ValidationResult; public class SignaturValidatorTest { private Validator<Document> signaturValidator; private SignedAssertionBuilder signedAssertionBuilder; @Before public void setUp() throws Exception { SamlContext samlContext = new SamlContextImpl(); signaturValidator = samlContext.getSignatureValidator(); signedAssertionBuilder = samlContext.getSignedAssertionBuilder(); } @Test public void testValidate_ValidSignature() { Document signedAssertionDoc = signedAssertionBuilder.build(null); ValidationResult result = signaturValidator.validate(signedAssertionDoc); assertTrue(result.isValid()); } @Test public void testValidate_InalidSignature() { Document signedAssertionDoc = signedAssertionBuilder.build(null); AssertionType signedAssertion = signedAssertionBuilder.unmarshal(signedAssertionDoc); signedAssertion.getIssuer().setValue("http://another.issuer.test"); Document invalidSignedAssertionDoc = signedAssertionBuilder.marshal(signedAssertion); ValidationResult result = signaturValidator.validate(invalidSignedAssertionDoc); assertFalse(result.isValid()); } }