public function testTestConnection() { $merchantId = '20000'; $relativeUriPath = '/' . Client::API_VERSION . '/' . $merchantId . '/services/testconnection'; $communicatorConfiguration = $this->getCommunicatorConfiguration(); $requestHeaderGenerator = new RequestHeaderGenerator($communicatorConfiguration, 'GET', $relativeUriPath); $requestHeaders = $requestHeaderGenerator->generateRequestHeaders(); $response = $this->connection->get($this->getApiEndpoint() . $relativeUriPath, $requestHeaders); $this->assertEquals(200, $response->getHttpStatusCode()); $this->assertEquals('application/json', $response->getHeaderValue('Content-Type')); $this->assertEquals(array('result' => 'OK'), json_decode($response->getBody(), true)); }
/** * @param string $httpMethod * @param string $relativeUriPathWithRequestParameters * @param string $clientMetaInfo * @param CallContext $callContext * @return string[] */ protected function getRequestHeaders($httpMethod, $relativeUriPathWithRequestParameters, $clientMetaInfo = '', CallContext $callContext = null) { $requestHeaderGenerator = new RequestHeaderGenerator($this->communicatorConfiguration, $httpMethod, $relativeUriPathWithRequestParameters, $clientMetaInfo, $callContext); return $requestHeaderGenerator->generateRequestHeaders(); }
public function testServerMetaInfoHeaderFull() { // create a new CommunicatorConfiguration to not modify the field $communicatorConfiguration = new CommunicatorConfiguration($this->getApiKey(), $this->getApiSecret(), $this->getApiEndpoint(), 'Ingenico.Integrator'); $communicatorConfiguration->setShoppingCartExtension(new ShoppingCartExtension('Ingenico.Creator', 'Extension', '1.0')); $requestHeaderGenerator = new RequestHeaderGenerator($communicatorConfiguration, 'GET', '/v1/consumer/ANDR%C3%89E/?q=na%20me'); $requestHeaders = $requestHeaderGenerator->generateRequestHeaders(); $serverMetaInfoJson = $requestHeaders['X-GCS-ServerMetaInfo']; $serverMetaInfo = json_decode(base64_decode($serverMetaInfoJson)); $this->assertInstanceOf('\\stdClass', $serverMetaInfo); $this->assertObjectHasAttribute('platformIdentifier', $serverMetaInfo); $this->assertContains(php_uname(), $serverMetaInfo->platformIdentifier); $this->assertContains(phpversion(), $serverMetaInfo->platformIdentifier); $this->assertObjectHasAttribute('sdkIdentifier', $serverMetaInfo); $this->assertEquals('PHPServerSDK/v' . RequestHeaderGenerator::SDK_VERSION, $serverMetaInfo->sdkIdentifier); $this->assertObjectHasAttribute('sdkCreator', $serverMetaInfo); $this->assertEquals('Ingenico', $serverMetaInfo->sdkCreator); $this->assertObjectHasAttribute('integrator', $serverMetaInfo); $this->assertEquals('Ingenico.Integrator', $serverMetaInfo->integrator); $this->assertObjectHasAttribute('shoppingCartExtension', $serverMetaInfo); $this->assertInstanceOf('\\stdClass', $serverMetaInfo->shoppingCartExtension); $this->assertObjectHasAttribute('creator', $serverMetaInfo->shoppingCartExtension); $this->assertEquals('Ingenico.Creator', $serverMetaInfo->shoppingCartExtension->creator); $this->assertObjectHasAttribute('name', $serverMetaInfo->shoppingCartExtension); $this->assertEquals('Extension', $serverMetaInfo->shoppingCartExtension->name); $this->assertObjectHasAttribute('version', $serverMetaInfo->shoppingCartExtension); $this->assertEquals('1.0', $serverMetaInfo->shoppingCartExtension->version); }