public function test_does_nothing_if_recipient_matches_own_acs_service_location() { $action = new RecipientValidatorAction($loggerMock = TestHelper::getLoggerMock($this), $endpointResolver = TestHelper::getEndpointResolverMock($this)); $assertionContext = TestHelper::getAssertionContext($assertion = new Assertion()); $assertion->addItem(new AuthnStatement()); $assertion->setSubject(new Subject()); $assertion->getSubject()->addSubjectConfirmation($subjectConfirmation = (new SubjectConfirmation())->setMethod(SamlConstants::CONFIRMATION_METHOD_BEARER)); $subjectConfirmation->setSubjectConfirmationData((new SubjectConfirmationData())->setRecipient($recipient = 'http://recipient.com')); $profileContext = TestHelper::getProfileContext(); $profileContext->getOwnEntityContext()->setEntityDescriptor($ownEntityDescriptor = new EntityDescriptor()); $assertionContext->setParent($profileContext); $endpointResolver->expects($this->once())->method('resolve')->willReturnCallback(function () use($recipient) { return [TestHelper::getEndpointReferenceMock($this, new AssertionConsumerService())]; }); $action->execute($assertionContext); }