allow vendord
All checks were successful
Build, Push and Deploy / build-and-push (push) Successful in 3m3s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 16s
Build, Push and Deploy / deploy-staging (push) Successful in 32s
Build, Push and Deploy / deploy-production (push) Has been skipped
Build, Push and Deploy / cleanup (push) Successful in 1s
All checks were successful
Build, Push and Deploy / build-and-push (push) Successful in 3m3s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 16s
Build, Push and Deploy / deploy-staging (push) Successful in 32s
Build, Push and Deploy / deploy-production (push) Has been skipped
Build, Push and Deploy / cleanup (push) Successful in 1s
This commit is contained in:
126
vendor/fedapay/fedapay-php/tests/BaseTestCase.php
vendored
Normal file
126
vendor/fedapay/fedapay-php/tests/BaseTestCase.php
vendored
Normal file
@@ -0,0 +1,126 @@
|
||||
<?php
|
||||
|
||||
namespace Tests;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use FedaPay\HttpClient\CurlClient;
|
||||
|
||||
abstract class BaseTestCase extends TestCase
|
||||
{
|
||||
protected $defaultHeaders = [];
|
||||
|
||||
const API_KEY = 'sk_local_123';
|
||||
const OAUTH_TOKEN = 'oauth_test_token_123';
|
||||
const API_BASE = 'https://dev-api.fedapay.com';
|
||||
|
||||
/** @before */
|
||||
protected function setUpConfig()
|
||||
{
|
||||
\FedaPay\FedaPay::setApiKey(self::API_KEY);
|
||||
\FedaPay\FedaPay::setApiBase(self::API_BASE);
|
||||
|
||||
\FedaPay\Requestor::setHttpClient(\FedaPay\HttpClient\CurlClient::instance());
|
||||
$this->defaultHeaders = [
|
||||
'X-Version' => \FedaPay\FedaPay::VERSION,
|
||||
'X-Api-Version' => \FedaPay\FedaPay::getApiVersion(),
|
||||
'X-Source' => 'FedaPay PhpLib',
|
||||
'Authorization' => 'Bearer '. (self::API_KEY ?: self::OAUTH_TOKEN)
|
||||
];
|
||||
}
|
||||
|
||||
/** @after */
|
||||
protected function tearDownConfig()
|
||||
{
|
||||
// Back to default
|
||||
\FedaPay\FedaPay::setApiKey(null);
|
||||
\FedaPay\FedaPay::setApiVersion('v1');
|
||||
\FedaPay\FedaPay::setEnvironment('sandbox');
|
||||
\FedaPay\FedaPay::setToken(null);
|
||||
\FedaPay\FedaPay::setAccountId(null);
|
||||
\FedaPay\FedaPay::setVerifySslCerts(true);
|
||||
\FedaPay\FedaPay::setLocale(null);
|
||||
\FedaPay\Requestor::setHttpClient(null);
|
||||
}
|
||||
|
||||
protected function mockRequest(
|
||||
$method,
|
||||
$path,
|
||||
$params = [],
|
||||
$response = [],
|
||||
$rcode = 200,
|
||||
$headers = []
|
||||
) {
|
||||
$mock = $this->setUpMockRequest();
|
||||
$base = \FedaPay\FedaPay::getApiBase();
|
||||
$absUrl = $base . $path;
|
||||
$headers = array_merge($this->defaultHeaders, $headers);
|
||||
|
||||
$rawHeaders = [];
|
||||
|
||||
foreach ($headers as $k => $v) {
|
||||
$rawHeaders[] = $k . ': ' . $v;
|
||||
}
|
||||
|
||||
if (is_array($response)) {
|
||||
$response = json_encode($response);
|
||||
}
|
||||
|
||||
$mock->expects($this->once())
|
||||
->method('request')
|
||||
->with(
|
||||
strtolower($method),
|
||||
$absUrl,
|
||||
$params,
|
||||
$rawHeaders
|
||||
)
|
||||
->willReturn([$response, $rcode, []]);
|
||||
}
|
||||
|
||||
protected function mockMultipleRequests($requests)
|
||||
{
|
||||
$mock = $this->setUpMockRequest();
|
||||
$base = \FedaPay\FedaPay::getApiBase();
|
||||
$withs = [];
|
||||
$returns = [];
|
||||
|
||||
foreach ($requests as $req) {
|
||||
$req = array_merge(['params' => [], 'response' => [], 'rcode' => 200, 'headers' => []], $req);
|
||||
|
||||
$absUrl = $base . $req['path'];
|
||||
$headers = array_merge($this->defaultHeaders, $req['headers']);
|
||||
|
||||
$rawHeaders = [];
|
||||
|
||||
foreach ($headers as $k => $v) {
|
||||
$rawHeaders[] = $k . ': ' . $v;
|
||||
}
|
||||
|
||||
if (is_array($req['response'])) {
|
||||
$response = json_encode($req['response']);
|
||||
}
|
||||
|
||||
$withs[] = [
|
||||
strtolower($req['method']),
|
||||
$absUrl,
|
||||
$req['params'],
|
||||
$rawHeaders,
|
||||
[$response, $req['rcode'], []]
|
||||
];
|
||||
}
|
||||
|
||||
$mock->expects($this->exactly(count($requests)))
|
||||
->method('request')
|
||||
->will($this->returnValueMap($withs));
|
||||
}
|
||||
|
||||
protected function setUpMockRequest()
|
||||
{
|
||||
$mock = $this->getMockBuilder('\FedaPay\HttpClient\ClientInterface')
|
||||
->setMethods(['request'])
|
||||
->getMock();
|
||||
|
||||
\FedaPay\Requestor::setHttpClient($mock);
|
||||
|
||||
return $mock;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user