JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrdefaultHeaders = [ '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; } }