/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.keycloak.testsuite.util.matchers; import org.keycloak.dom.saml.v2.SAML2Object; import org.keycloak.dom.saml.v2.protocol.LogoutRequestType; import java.net.URI; import org.hamcrest.*; import static org.hamcrest.Matchers.*; /** * * @author hmlnarik */ public class SamlLogoutRequestTypeMatcher extends BaseMatcher<SAML2Object> { private final Matcher<URI> destinationMatcher; public SamlLogoutRequestTypeMatcher(URI destination) { this.destinationMatcher = is(destination); } public SamlLogoutRequestTypeMatcher(Matcher<URI> destinationMatcher) { this.destinationMatcher = destinationMatcher; } @Override public boolean matches(Object item) { return destinationMatcher.matches(((LogoutRequestType) item).getDestination()); } @Override public void describeMismatch(Object item, Description description) { description.appendText("was ").appendValue(((LogoutRequestType) item).getDestination()); } @Override public void describeTo(Description description) { description.appendText("SAML logout request destination matches ").appendDescriptionOf(this.destinationMatcher); } }