/** * @test * @dataProvider matchRequestDataProvider */ public function matchRequestTests($uriPath, $pattern, $shouldMatch) { $mockActionRequest = $this->getMockBuilder(\TYPO3\Flow\Mvc\ActionRequest::class)->disableOriginalConstructor()->getMock(); $mockHttpRequest = $this->getMockBuilder(\TYPO3\Flow\Http\Request::class)->disableOriginalConstructor()->getMock(); $mockActionRequest->expects($this->atLeastOnce())->method('getHttpRequest')->will($this->returnValue($mockHttpRequest)); $mockUri = $this->getMockBuilder(\TYPO3\Flow\Http\Uri::class)->disableOriginalConstructor()->getMock(); $mockHttpRequest->expects($this->atLeastOnce())->method('getUri')->will($this->returnValue($mockUri)); $mockUri->expects($this->atLeastOnce())->method('getPath')->will($this->returnValue($uriPath)); $requestPattern = new \TYPO3\Flow\Security\RequestPattern\Uri(); $requestPattern->setPattern($pattern); if ($shouldMatch) { $this->assertTrue($requestPattern->matchRequest($mockActionRequest)); } else { $this->assertFalse($requestPattern->matchRequest($mockActionRequest)); } }
/** * @test */ public function requestMatchingBasicallyWorks() { $uri = new \TYPO3\Flow\Http\Uri('http://typo3.org/some/nice/path/to/index.php'); $request = Request::create($uri)->createActionRequest(); $requestPattern = new \TYPO3\Flow\Security\RequestPattern\Uri(); $requestPattern->setPattern('/some/nice/.*'); $this->assertEquals('/some/nice/.*', $requestPattern->getPattern()); $this->assertTrue($requestPattern->matchRequest($request)); }