/** * @test */ public function shouldAllowGetPreviouslySetHash() { $token = new Token(); $token->setHash('theToken'); $this->assertSame('theToken', $token->getHash()); }
/** * @test */ public function shouldReturnExpectedTokenIfAllCheckPassedOnVerify() { $_SERVER['REQUEST_URI'] = 'http://target.com/foo'; $expectedToken = new Token(); $expectedToken->setHash('theHash'); $expectedToken->setTargetUrl('http://target.com/foo'); $storageMock = $this->createStorageMock(); $storageMock->expects($this->once())->method('find')->with('theHash')->will($this->returnValue($expectedToken)); $verifier = new HttpRequestVerifier($storageMock); $actualToken = $verifier->verify(array('payum_token' => 'theHash')); $this->assertSame($expectedToken, $actualToken); }
/** * @test */ public function shouldNotMatchUriIfTokenSetToRequestAttribute() { $expectedToken = new Token(); $expectedToken->setHash('theHash'); $expectedToken->setTargetUrl('http://target.com/bar'); $storageMock = $this->createStorageMock(); $storageMock->expects($this->never())->method('findModelById'); $request = Request::create('http://target.com/foo'); $request->query->set('payum_token', $expectedToken); $verifier = new HttpRequestVerifier($storageMock); $actualToken = $verifier->verify($request); $this->assertSame($expectedToken, $actualToken); }
/** * @test */ public function shouldCreateTokenForBaseUrlWithPath() { $token = new Token(); $token->setHash('aHash'); $tokenStorageMock = $this->createStorageMock(); $tokenStorageMock->expects($this->once())->method('create')->will($this->returnValue($token)); $tokenStorageMock->expects($this->once())->method('update')->with($this->identicalTo($token)); $gatewayName = 'theGatewayName'; $identity = new Identity('anId', 'stdClass'); $storageRegistryMock = $this->createStorageRegistryMock(); $storageRegistryMock->expects($this->never())->method('getStorage'); $factory = new TokenFactory($tokenStorageMock, $storageRegistryMock, 'http://example.com/aBase/path'); $actualToken = $factory->createToken($gatewayName, $identity, 'theTargetPath', ['target' => 'val']); $this->assertEquals('http://example.com/aBase/path/theTargetPath?payum_token=aHash&target=val', $actualToken->getTargetUrl()); }