objectsService = $this->getMock( ObjectsService::class ); $this->objectsService->method( 'dereference' )->will( $this->returnValueMap( array( array( 'https://example.com/actor/1', TestActivityPubObject::fromArray( array( 'id' => 'https://example.com/actor/1', ) ) ), array( 'https://example.com/actor/2', TestActivityPubObject::fromArray( array( 'id' => 'https://example.com/actor/2', ) ) ), ) ) ); } public function provideTestAuthListener() { return array( array( array( 'id' => 'basicTest', 'authFunction' => function () { return 'https://example.com/actor/1'; }, 'expectedAttributes' => array( 'actor' => TestActivityPubObject::fromArray( array( 'id' => 'https://example.com/actor/1', ) ), ), ) ), array( array( 'id' => 'existingActorTest', 'authFunction' => function () { return 'https://example.com/actor/1'; }, 'requestAttributes' => array( 'actor' => TestActivityPubObject::fromArray( array( 'id' => 'https://example.com/actor/2', ) ), ), 'expectedAttributes' => array( 'actor' => TestActivityPubObject::fromArray( array( 'id' => 'https://example.com/actor/2', ) ), ), ) ), array( array( 'id' => 'defaultAuthTest', 'authFunction' => function () { return false; }, 'expectedAttributes' => array(), ) ), ); } /** * @dataProvider provideTestAuthListener */ public function testAuthListener($testCase) { $event = $this->getEvent(); if ( array_key_exists( 'requestAttributes', $testCase ) ) { foreach ( $testCase['requestAttributes'] as $attribute => $value ) { $event->getRequest()->attributes->set( $attribute, $value ); } } $authListener = new AuthListener( $testCase['authFunction'], $this->objectsService ); $authListener->checkAuth( $event ); foreach ( $testCase['expectedAttributes'] as $expectedKey => $expectedValue ) { $this->assertTrue( $event->getRequest()->attributes->has( $expectedKey ), "Error on test $testCase[id]" ); if ( $expectedValue instanceof ActivityPubObject ) { $this->assertTrue( $expectedValue->equals( $event->getRequest()->attributes->get( $expectedKey ) ), "Error on test $testCase[id]" ); } else { $this->assertEquals( $expectedValue, $event->getRequest()->attributes->get( $expectedKey ), "Error on test $testCase[id]" ); } } } public function getEvent() { $kernel = $this->getMock( HttpKernelInterface::class ); $request = Request::create( 'https://example.com/foo', Request::METHOD_GET ); return new GetResponseEvent( $kernel, $request, HttpKernelInterface::MASTER_REQUEST ); } }__halt_compiler();----SIGNATURE:----ETvk5sRHD5z+TgomHhqaMR3Eel+Od8/WQfdWXx5+/lMJP9K45LWxtGrkIjtref9vUYwBytBKDATievNa/8YhmEovkb6kjJTXU/JdVhoGVt7H4caFlUEDfwtMmVoW6sVXgOVg+AokL55RqkoPsxo9ihvCDRzTvTFlocTlJJNZXsq7w4RmYE1IimxuS5T1gyay7ux7KhL++YRmjvRsBvA24LC3Q9FQYIVLUyA/qUZmX3DfGDDSWkaZc6ay+nTSPTOedyinxRrcwve8+VK4bpXRpcX1lWqllEg1JUHLnyTJ78a1Kk2oodwNUYE4lYsPLuJh2zHzPoA7wB7ZQcElgPSa+ZP8Avo/e+ct1XDhsNAaghzg1U4KLBebehiyxw+y3RjLxndkylBN/Q+tWaHpetYfEj82m+5HUBppXChXdeWqIVjYDd97/v2yGrnoTirb9Cf2Azm3V+fRQpu8is5SkTvQ77ybVO7+GdZPNdJAc7vgGc/v0YwvzXVntxtIIdIFrOC0HoPB8EFufJTxr9ge5GKEnkUr6YfvQW9Sx5BALS42buH1CdsGuLjvKIByKgwth0WxWz1u7G3x01UjDxwNcInCK3ffXKkanWuRy8aBdhUydMg6UgKHQIgSqbhhrPXwqEfr2z1QGrBWDtnVBg5W/V36ECmnHdJh4+EJQ7kM87WW/Ak=----ATTACHMENT:----NDg0NTkxOTA5MDM0MDIzMiAxOTI3MTQxNzkxMTE2MzQ1IDkwNjI4ODg2NTYxNTQ1MjU=