30 $this->subject = new \TYPO3\CMS\Core\Tests\Unit\FormProtection\Fixtures\FormProtectionTesting();
40 $subject = $this->getMock(
'TYPO3\\CMS\\Core\\Tests\\Unit\\FormProtection\\Fixtures\\FormProtectionTesting', array(
'retrieveSessionToken'));
41 $subject->expects($this->once())->method(
'retrieveSessionToken')->will($this->returnValue(
'token'));
50 $subject = $this->getMock(
'TYPO3\\CMS\\Core\\Tests\\Unit\\FormProtection\\Fixtures\\FormProtectionTesting', array(
'retrieveSessionToken'));
51 $subject->expects($this->once())->method(
'retrieveSessionToken')->will($this->returnValue(
'token'));
52 $subject->validateToken(
'foo',
'bar');
53 $subject->validateToken(
'foo',
'bar');
61 $tokenId = $this->subject->generateToken($formName);
62 $this->subject->clean();
63 $this->assertFalse($this->subject->validateToken($tokenId, $formName));
70 $subject = $this->getMock(
'TYPO3\\CMS\\Core\\Tests\\Unit\\FormProtection\\Fixtures\\FormProtectionTesting', array(
'persistSessionToken'));
71 $subject->expects($this->once())->method(
'persistSessionToken');
82 $this->setExpectedException(
'InvalidArgumentException',
'$formName must not be empty.');
83 $this->subject->generateToken(
'',
'edit',
'bar');
90 $this->subject->generateToken(
'foo',
'',
'42');
97 $this->subject->generateToken(
'foo',
'edit',
'');
104 $this->subject->generateToken(
'foo');
111 $this->assertRegexp(
'/^[0-9a-f]{40}$/', $this->subject->generateToken(
'foo'));
118 $this->assertEquals($this->subject->generateToken(
'foo',
'edit',
'bar'), $this->subject->generateToken(
'foo',
'edit',
'bar'));
128 $this->subject->validateToken(
'',
'',
'',
'');
135 $this->subject->validateToken(
'',
'');
144 $formInstanceName =
'bar';
145 $this->assertTrue($this->subject->validateToken($this->subject->generateToken($formName, $action, $formInstanceName), $formName, $action, $formInstanceName));
153 $this->assertTrue($this->subject->validateToken($this->subject->generateToken($formName), $formName));
162 $formInstanceName =
'bar';
163 $tokenId = $this->subject->generateToken($formName, $action, $formInstanceName);
164 $this->subject->validateToken($tokenId, $formName, $action, $formInstanceName);
165 $this->assertTrue($this->subject->validateToken($tokenId, $formName, $action, $formInstanceName));
174 $formInstanceName =
'bar';
175 $this->subject->generateToken($formName, $action, $formInstanceName);
176 $this->assertFalse($this->subject->validateToken(
'Hello world!', $formName, $action, $formInstanceName));
185 $formInstanceName =
'bar';
186 $tokenId = $this->subject->generateToken($formName, $action, $formInstanceName);
187 $this->assertFalse($this->subject->validateToken($tokenId,
'espresso', $action, $formInstanceName));
196 $formInstanceName =
'bar';
197 $tokenId = $this->subject->generateToken($formName, $action, $formInstanceName);
198 $this->assertFalse($this->subject->validateToken($tokenId, $formName,
'delete', $formInstanceName));
207 $formInstanceName =
'bar';
208 $tokenId = $this->subject->generateToken($formName, $action, $formInstanceName);
209 $this->assertFalse($this->subject->validateToken($tokenId, $formName, $action,
'beer'));
215 public function validateTokenForValidTokenNotCallsCreateValidationErrorMessage() {
217 $subject = $this->getMock(
'TYPO3\\CMS\\Core\\Tests\\Unit\\FormProtection\\Fixtures\\FormProtectionTesting', array(
'createValidationErrorMessage'));
218 $subject->expects($this->never())->method(
'createValidationErrorMessage');
221 $formInstanceName =
'bar';
222 $token =
$subject->generateToken($formName, $action, $formInstanceName);
223 $subject->validateToken($token, $formName, $action, $formInstanceName);
230 public function validateTokenForInvalidTokenCallsCreateValidationErrorMessage() {
232 $subject = $this->getMock(
'TYPO3\\CMS\\Core\\Tests\\Unit\\FormProtection\\Fixtures\\FormProtectionTesting', array(
'createValidationErrorMessage'));
233 $subject->expects($this->once())->method(
'createValidationErrorMessage');
236 $formInstanceName =
'bar';
237 $subject->generateToken($formName, $action, $formInstanceName);
238 $subject->validateToken(
'an invalid token ...', $formName, $action, $formInstanceName);
245 public function validateTokenForInvalidFormNameCallsCreateValidationErrorMessage() {
247 $subject = $this->getMock(
'TYPO3\\CMS\\Core\\Tests\\Unit\\FormProtection\\Fixtures\\FormProtectionTesting', array(
'createValidationErrorMessage'));
248 $subject->expects($this->once())->method(
'createValidationErrorMessage');
251 $formInstanceName =
'bar';
252 $token =
$subject->generateToken($formName, $action, $formInstanceName);
253 $subject->validateToken($token,
'another form name', $action, $formInstanceName);