summaryrefslogtreecommitdiffstats
path: root/tests/lib/Http
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lib/Http')
-rw-r--r--tests/lib/Http/Client/ClientServiceTest.php27
-rw-r--r--tests/lib/Http/Client/ClientTest.php111
-rw-r--r--tests/lib/Http/Client/ResponseTest.php38
3 files changed, 176 insertions, 0 deletions
diff --git a/tests/lib/Http/Client/ClientServiceTest.php b/tests/lib/Http/Client/ClientServiceTest.php
new file mode 100644
index 00000000000..3c406f30111
--- /dev/null
+++ b/tests/lib/Http/Client/ClientServiceTest.php
@@ -0,0 +1,27 @@
+<?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\Client as GuzzleClient;
+use OC\Http\Client\Client;
+use OC\Http\Client\ClientService;
+
+/**
+ * Class ClientServiceTest
+ */
+class ClientServiceTest extends \Test\TestCase {
+ public function testNewClient() {
+ $config = $this->getMock('\OCP\IConfig');
+ $certificateManager = $this->getMock('\OCP\ICertificateManager');
+
+ $expected = new Client($config, $certificateManager, new GuzzleClient());
+ $clientService = new ClientService($config, $certificateManager);
+ $this->assertEquals($expected, $clientService->newClient());
+ }
+}
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());
+ }
+}
diff --git a/tests/lib/Http/Client/ResponseTest.php b/tests/lib/Http/Client/ResponseTest.php
new file mode 100644
index 00000000000..685f34a0baf
--- /dev/null
+++ b/tests/lib/Http/Client/ResponseTest.php
@@ -0,0 +1,38 @@
+<?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 Guzzle\Stream\Stream;
+use GuzzleHttp\Message\Response as GuzzleResponse;
+use OC\Http\Client\Response;
+
+/**
+ * Class ResponseTest
+ */
+class ResponseTest extends \Test\TestCase {
+ /** @var Response */
+ private $response;
+ /** @var GuzzleResponse */
+ private $guzzleResponse;
+
+ public function setUp() {
+ parent::setUp();
+ $this->guzzleResponse = new GuzzleResponse(1337);
+ $this->response = new Response($this->guzzleResponse);
+ }
+
+ public function testGetStatusCode() {
+ $this->assertEquals(1337, $this->response->getStatusCode());
+ }
+
+ public function testGetHeader() {
+ $this->guzzleResponse->setHeader('bar', 'foo');
+ $this->assertEquals('foo', $this->response->getHeader('bar'));
+ }
+}