public function test_signs_message_when_signing_enabled() { $action = new SignMessageAction($loggerMock = TestHelper::getLoggerMock($this), $signatureResolverMock = TestHelper::getSignatureResolverMock($this)); $context = TestHelper::getProfileContext(); $context->getPartyEntityContext()->setTrustOptions(new TrustOptions()); $context->getTrustOptions()->setSignAuthnRequest(true); $context->getOutboundContext()->setMessage($message = new AuthnRequest()); $signature = new SignatureWriter($certificateMock = TestHelper::getX509CertificateMock($this)); $certificateMock->expects($this->any())->method('getInfo')->willReturn($expectedInfo = ['a' => 1]); $certificateMock->expects($this->any())->method('getFingerprint')->willReturn($expectedFingerprint = '123123123'); $signatureResolverMock->expects($this->once())->method('getSignature')->with($context)->willReturn($signature); $loggerMock->expects($this->once())->method('debug')->with('Message signed with fingerprint "123123123"', $this->isType('array')); $action->execute($context); $this->assertSame($signature, $message->getSignature()); }