-
Notifications
You must be signed in to change notification settings - Fork 0
/
ClientTest.php
110 lines (89 loc) · 3.21 KB
/
ClientTest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<?php
namespace HDTest\Api\Client;
use HD\Api\Client\Client;
use Zend\ServiceManager\ServiceManager;
use Zend\EventManager\EventManager;
use PHPUnit_Framework_TestCase;
class ClientTest extends PHPUnit_Framework_TestCase
{
protected $client;
protected $serviceManager;
public function setUp()
{
$this->serviceManager = new ServiceManager();
$this->serviceManager->setService('HD\Api\Client\HttpClient', $this->getHttpClient('foo', 'bar'));
$this->serviceManager->setService(
'HD\Api\Client\Listener\Error',
$this->getMock('HD\Api\Client\Listener\Error')
);
$this->serviceManager->setService(
'HD\Api\Client\Listener\Cache',
$this->getMock('HD\Api\Client\Listener\Cache')
);
}
public function getHttpClient($path)
{
$response = $this->getMock('Zend\Http\Response');
$eventManager = new EventManager();
$httpClient = $this->getMock('HD\Api\Client\Http\Client');
$httpClient->expects($this->any())
->method('get')
->with($path)
->will($this->returnValue($response));
$httpClient->expects($this->any())
->method('getEventManager')
->will($this->returnValue($eventManager));
return $httpClient;
}
public function testGet()
{
$this->client= new Client();
$this->client->setHttpClient($this->getHttpClient('test/path'));
$result = $this->client->getHttpClient()->get('test/path');
$this->assertInstanceOf('Zend\Http\Response', $result);
}
public function testAuthenticate()
{
$authListener = $this->getMock('HD\Api\Client\Listener\Auth\UrlToken');
$authListener->expects($this->once())
->method('setOptions')
->with(array(
'tokenOrLogin' => '12345',
'password' =>null,
));
$sm = $this->getMock('Zend\ServiceManager\ServiceManager');
$sm->expects($this->once())
->method('get')
->with('\Listener\Auth\UrlToken')
->will($this->returnValue($authListener));
$this->client = new Client();
$this->client->setServiceManager($sm);
$this->client->setHttpClient($this->getHttpClient('test'));
$this->client->authenticate(
'\Listener\Auth\UrlToken',
array(
'tokenOrLogin' => '12345',
'password' =>null,
)
);
}
public function testSetServiceManager()
{
$client = new Client();
$client->setServiceManager($this->serviceManager);
$this->assertInstanceOf('Zend\ServiceManager\ServiceManager', $client->getServiceManager());
}
public function testGetHttpClient()
{
$client = new Client();
$client->setServiceManager($this->serviceManager);
$httpClient = $client->getHttpClient();
$this->assertInstanceOf('HD\Api\Client\Http\Client', $httpClient);
}
public function testSetEventManager()
{
$client = new Client();
$result = $client->setEventManager(new EventManager);
$this->assertInstanceOf('HD\Api\Client\Client', $result);
}
}