public function test_creates_request_state_with_outbound_message_id() { $action = new SaveRequestStateAction(TestHelper::getLoggerMock($this), $requestStateStoreMock = TestHelper::getRequestStateStoreMock($this)); $context = TestHelper::getProfileContext(); $context->getOutboundContext()->setMessage($message = new AuthnRequest()); $message->setID($id = '123123123'); $requestStateStoreMock->expects($this->once())->method('set')->with($this->isInstanceOf(RequestState::class))->willReturnCallback(function (RequestState $requestState) use($id) { $this->assertEquals($id, $requestState->getId()); }); $action->execute($context); }
public function test_adds_known_in_response_to_request_state_to_context() { $action = new InResponseToValidatorAction(TestHelper::getLoggerMock($this), $requestStateMock = TestHelper::getRequestStateStoreMock($this)); $context = TestHelper::getAssertionContext($assertion = new Assertion()); $assertion->setSubject($subject = new Subject()); $subject->addSubjectConfirmation($subjectConfirmation = new SubjectConfirmation()); $subjectConfirmation->setSubjectConfirmationData(new SubjectConfirmationData()); $subjectConfirmation->getSubjectConfirmationData()->setInResponseTo($inResponseTo = '123123123'); $requestStateMock->expects($this->once())->method('get')->with($inResponseTo)->willReturn(new RequestState($inResponseTo)); $action->execute($context); /** @var RequestStateContext $requestStateContext */ $requestStateContext = $context->getSubContext(ProfileContexts::REQUEST_STATE); $this->assertInstanceOf(RequestStateContext::class, $requestStateContext); $this->assertEquals($inResponseTo, $requestStateContext->getRequestState()->getId()); }