123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- <?php
- /**
- * Copyright (c) 2014 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;
- use OCP\Http\Client\IClientService;
- class HTTPHelperTest extends \Test\TestCase {
- /** @var \OCP\IConfig*/
- private $config;
- /** @var \OC\HTTPHelper */
- private $httpHelperMock;
- /** @var \OCP\Http\Client\IClientService */
- private $clientService;
- protected function setUp() {
- parent::setUp();
- $this->config = $this->getMockBuilder('\OCP\IConfig')
- ->disableOriginalConstructor()->getMock();
- $this->clientService = $this->createMock(IClientService::class);
- $this->httpHelperMock = $this->getMockBuilder('\OC\HTTPHelper')
- ->setConstructorArgs(array($this->config, $this->clientService))
- ->setMethods(array('getHeaders'))
- ->getMock();
- }
- public function isHttpTestData() {
- return array(
- array('http://wwww.owncloud.org/enterprise/', true),
- array('https://wwww.owncloud.org/enterprise/', true),
- array('HTTPS://WWW.OWNCLOUD.ORG', true),
- array('HTTP://WWW.OWNCLOUD.ORG', true),
- array('FILE://WWW.OWNCLOUD.ORG', false),
- array('file://www.owncloud.org', false),
- array('FTP://WWW.OWNCLOUD.ORG', false),
- array('ftp://www.owncloud.org', false),
- );
- }
- /**
- * @dataProvider isHttpTestData
- */
- public function testIsHTTP($url, $expected) {
- $this->assertSame($expected, $this->httpHelperMock->isHTTPURL($url));
- }
- public function testPostSuccess() {
- $client = $this->getMockBuilder('\OCP\Http\Client\IClient')
- ->disableOriginalConstructor()->getMock();
- $this->clientService
- ->expects($this->once())
- ->method('newClient')
- ->will($this->returnValue($client));
- $response = $this->getMockBuilder('\OCP\Http\Client\IResponse')
- ->disableOriginalConstructor()->getMock();
- $client
- ->expects($this->once())
- ->method('post')
- ->with(
- 'https://owncloud.org',
- [
- 'body' => [
- 'Foo' => 'Bar',
- ],
- 'connect_timeout' => 10,
- ]
- )
- ->will($this->returnValue($response));
- $response
- ->expects($this->once())
- ->method('getBody')
- ->will($this->returnValue('Body of the requested page'));
- $response = $this->httpHelperMock->post('https://owncloud.org', ['Foo' => 'Bar']);
- $expected = [
- 'success' => true,
- 'result' => 'Body of the requested page'
- ];
- $this->assertSame($expected, $response);
- }
- public function testPostException() {
- $client = $this->getMockBuilder('\OCP\Http\Client\IClient')
- ->disableOriginalConstructor()->getMock();
- $this->clientService
- ->expects($this->once())
- ->method('newClient')
- ->will($this->returnValue($client));
- $client
- ->expects($this->once())
- ->method('post')
- ->with(
- 'https://owncloud.org',
- [
- 'body' => [
- 'Foo' => 'Bar',
- ],
- 'connect_timeout' => 10,
- ]
- )
- ->will($this->throwException(new \Exception('Something failed')));
- $response = $this->httpHelperMock->post('https://owncloud.org', ['Foo' => 'Bar']);
- $expected = [
- 'success' => false,
- 'result' => 'Something failed'
- ];
- $this->assertSame($expected, $response);
- }
- }
|