forked from LiveCarta/PayPal-PHP-SDK
Stop auto-generating PayPal-Request-Id
- Allow manual setting of PayPal-Request-Id
This commit is contained in:
@@ -85,13 +85,19 @@ class ApiContext
|
|||||||
*/
|
*/
|
||||||
public function getRequestId()
|
public function getRequestId()
|
||||||
{
|
{
|
||||||
if ($this->requestId == null) {
|
|
||||||
$this->requestId = $this->generateRequestId();
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->requestId;
|
return $this->requestId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the request ID
|
||||||
|
*
|
||||||
|
* @param string $requestId the PayPal-Request-Id value to use
|
||||||
|
*/
|
||||||
|
public function setRequestId($requestId)
|
||||||
|
{
|
||||||
|
$this->requestId = $requestId;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Resets the requestId that can be used to set the PayPal-request-id
|
* Resets the requestId that can be used to set the PayPal-request-id
|
||||||
* header used for idempotency. In cases where you need to make multiple create calls
|
* header used for idempotency. In cases where you need to make multiple create calls
|
||||||
|
|||||||
@@ -22,13 +22,27 @@ class ApiContextTest extends PHPUnit_Framework_TestCase
|
|||||||
public function testGetRequestId()
|
public function testGetRequestId()
|
||||||
{
|
{
|
||||||
$requestId = $this->apiContext->getRequestId();
|
$requestId = $this->apiContext->getRequestId();
|
||||||
$this->assertNotNull($requestId);
|
$this->assertNull($requestId);
|
||||||
$this->assertEquals($requestId, $this->apiContext->getRequestId());
|
}
|
||||||
|
|
||||||
|
public function testSetRequestId()
|
||||||
|
{
|
||||||
|
$this->assertNull($this->apiContext->getRequestId());
|
||||||
|
|
||||||
|
$expectedRequestId = 'random-value';
|
||||||
|
$this->apiContext->setRequestId($expectedRequestId);
|
||||||
|
$requestId = $this->apiContext->getRequestId();
|
||||||
|
$this->assertEquals($expectedRequestId, $requestId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testResetRequestId()
|
public function testResetRequestId()
|
||||||
{
|
{
|
||||||
$requestId = $this->apiContext->getRequestId();
|
$this->assertNull($this->apiContext->getRequestId());
|
||||||
|
|
||||||
|
$requestId = $this->apiContext->resetRequestId();
|
||||||
|
$this->assertNotNull($requestId);
|
||||||
|
|
||||||
|
// Tests that another resetRequestId call will generate a new ID
|
||||||
$newRequestId = $this->apiContext->resetRequestId();
|
$newRequestId = $this->apiContext->resetRequestId();
|
||||||
$this->assertNotNull($newRequestId);
|
$this->assertNotNull($newRequestId);
|
||||||
$this->assertNotEquals($newRequestId, $requestId);
|
$this->assertNotEquals($newRequestId, $requestId);
|
||||||
|
|||||||
Reference in New Issue
Block a user