1
0
mirror of synced 2024-11-26 23:36:06 +03:00
api-client-php/tests/RetailCrm/Tests/Http/ClientTest.php

72 lines
1.8 KiB
PHP

<?php
namespace RetailCrm\Tests\Http;
use RetailCrm\Test\TestCase;
use RetailCrm\ApiClient;
use RetailCrm\Http\Client;
class ClientTest extends TestCase
{
/**
* @group unit
*/
public function testConstruct()
{
$client = new Client('https://asdf.df', array());
$this->assertInstanceOf('RetailCrm\Http\Client', $client);
}
/**
* @group unit
* @expectedException \InvalidArgumentException
*/
public function testHttpRequiring()
{
$client = new Client('http://demo.retailcrm.ru/api/' . ApiClient::VERSION, array('apiKey' => '123'));
}
/**
* @group unit
* @expectedException \InvalidArgumentException
*/
public function testMakeRequestWrongMethod()
{
$client = static::getClient();
$client->makeRequest('/a', 'adsf');
}
/**
* @group integration
* @expectedException \RetailCrm\Exception\CurlException
*/
public function testMakeRequestWrongUrl()
{
$client = new Client('https://asdf.df', array());
$client->makeRequest('/a', Client::METHOD_GET, array(), 1);
}
/**
* @group integration
*/
public function testMakeRequestSuccess()
{
$client = static::getClient();
$response = $client->makeRequest('/orders', Client::METHOD_GET);
$this->assertInstanceOf('RetailCrm\Response\ApiResponse', $response);
$this->assertEquals(200, $response->getStatusCode());
}
/**
* @group integration
*/
public function testMakeRequestRepeatOnTimeout()
{
$client = static::getClient();
$response = $client->makeRequest('/orders', Client::METHOD_GET, array(), 1, false, true);
$this->assertGreaterThanOrEqual(1, $client->retry);
}
}