diff options
Diffstat (limited to 'tests/lib/Http/Client/ClientTest.php')
-rw-r--r-- | tests/lib/Http/Client/ClientTest.php | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/tests/lib/Http/Client/ClientTest.php b/tests/lib/Http/Client/ClientTest.php new file mode 100644 index 00000000000..705e1eeddea --- /dev/null +++ b/tests/lib/Http/Client/ClientTest.php @@ -0,0 +1,111 @@ +<?php +/** + * Copyright (c) 2015 Lukas Reschke <lukas@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace Test\Http\Client; + +use GuzzleHttp\Message\Response; +use OC\Http\Client\Client; +use OCP\IConfig; + +/** + * Class ClientTest + */ +class ClientTest extends \Test\TestCase { + /** @var \GuzzleHttp\Client */ + private $guzzleClient; + /** @var Client */ + private $client; + /** @var IConfig */ + private $config; + + public function setUp() { + parent::setUp(); + $this->config = $this->getMock('\OCP\IConfig'); + $this->guzzleClient = $this->getMockBuilder('\GuzzleHttp\Client') + ->disableOriginalConstructor() + ->getMock(); + $certificateManager = $this->getMock('\OCP\ICertificateManager'); + $this->client = new Client( + $this->config, + $certificateManager, + $this->guzzleClient + ); + } + + public function testGetProxyUri() { + $this->config + ->expects($this->at(0)) + ->method('getSystemValue') + ->with('proxy', null) + ->willReturn(null); + $this->config + ->expects($this->at(1)) + ->method('getSystemValue') + ->with('proxyuserpwd', null) + ->willReturn(null); + $this->assertSame('', self::invokePrivate($this->client, 'getProxyUri')); + } + + public function testGetProxyUriProxyHostEmptyPassword() { + $this->config + ->expects($this->at(0)) + ->method('getSystemValue') + ->with('proxy', null) + ->willReturn('foo'); + $this->config + ->expects($this->at(1)) + ->method('getSystemValue') + ->with('proxyuserpwd', null) + ->willReturn(null); + $this->assertSame('foo', self::invokePrivate($this->client, 'getProxyUri')); + } + + public function testGetProxyUriProxyHostWithPassword() { + $this->config + ->expects($this->at(0)) + ->method('getSystemValue') + ->with('proxy', null) + ->willReturn('foo'); + $this->config + ->expects($this->at(1)) + ->method('getSystemValue') + ->with('proxyuserpwd', null) + ->willReturn('username:password'); + $this->assertSame('username:password@foo', self::invokePrivate($this->client, 'getProxyUri')); + } + + public function testGet() { + $this->guzzleClient->method('get') + ->willReturn(new Response(1337)); + $this->assertEquals(1337, $this->client->get('http://localhost/', [])->getStatusCode()); + } + + public function testPost() { + $this->guzzleClient->method('post') + ->willReturn(new Response(1337)); + $this->assertEquals(1337, $this->client->post('http://localhost/', [])->getStatusCode()); + } + + public function testPut() { + $this->guzzleClient->method('put') + ->willReturn(new Response(1337)); + $this->assertEquals(1337, $this->client->put('http://localhost/', [])->getStatusCode()); + } + + public function testDelete() { + $this->guzzleClient->method('delete') + ->willReturn(new Response(1337)); + $this->assertEquals(1337, $this->client->delete('http://localhost/', [])->getStatusCode()); + } + + public function testOptions() { + $this->guzzleClient->method('options') + ->willReturn(new Response(1337)); + $this->assertEquals(1337, $this->client->options('http://localhost/', [])->getStatusCode()); + } +} |