![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/astock/stock-api-libphp/test/src/Api/Client/Http/ |
<?php /** * Copyright 2017 Adobe Systems Incorporated. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 */ namespace AdobeStock\Api\Test; use \PHPUnit\Framework\TestCase; use \AdobeStock\Api\Client\Http\HttpClient; use \GuzzleHttp\Client; use \GuzzleHttp\Psr7\Response; use \AdobeStock\Api\Exception\StockApi as StockApiException; use \GuzzleHttp\HandlerStack; use \GuzzleHttp\Psr7\Request; class HttpClientTest extends TestCase { /** * Default Http Client. * @var HttpClient */ private $_client; /** * Mocked Guzzle Client. * @var Client */ private $_mocked_http_client; /** * @test * @before */ public function initializeConstructorOfHttpClient() { $this->_mocked_http_client = $this->createMock(Client::class); $this->_client = new HttpClient($this->_mocked_http_client); $this->assertNotNull($this->_client); } /** * @test */ public function executeDoGetSuccessfully() { $response = new Response(200, [], 'response'); $this->_mocked_http_client->method('request')->willReturn($response); $this->assertEquals($response->getBody(), $this->_client->doGet('some uri', [])); } /** * @test */ public function executeDoGetWithException() { $this->expectException(\AdobeStock\Api\Exception\StockApi::class); $exception = StockApiException::withMessage('Exception thrown'); $this->_mocked_http_client->method('request')->will($this->throwException($exception)); $this->_client->doGet('some uri', []); } /** * @test */ public function executeDoPostSuccessfully() { $response = new Response(200, [], 'response'); $this->_mocked_http_client->method('request')->willReturn($response); $this->assertEquals($response->getBody(), $this->_client->doPost('some uri', [], [])); } /** * @test */ public function executeDoPostWithException() { $this->expectException(\AdobeStock\Api\Exception\StockApi::class); $exception = StockApiException::withMessage('Exception thrown'); $this->_mocked_http_client->method('request')->will($this->throwException($exception)); $this->_client->doPost('some uri', [], []); } /** * @test */ public function executeDoMultiPartSuccessfully() { $response = new Response(200, [], 'response'); $this->_mocked_http_client->method('request')->willReturn($response); $this->assertEquals($response->getBody(), $this->_client->doMultiPart('some uri', [], 'test/resources/SmallImage.jpg')); } /** * @test */ public function executeDoMultiPartWithException() { $this->expectException(\AdobeStock\Api\Exception\StockApi::class); $exception = StockApiException::withMessage('Exception thrown'); $this->_mocked_http_client->method('request')->will($this->throwException($exception)); $this->_client->doMultiPart('some uri', [], 'test/resources/SmallImage.jpg'); } /** * @test */ public function executeDoMultiPartWithExceptionIfFileIsNotReadable() { $this->expectException(\AdobeStock\Api\Exception\StockApi::class); $exception = StockApiException::withMessage('Exception thrown'); $this->_mocked_http_client->method('request')->will($this->throwException($exception)); $this->_client->doMultiPart('some uri', [], ''); } /** * @test */ public function testGetHandlerStack() { $stack = new HandlerStack(); $this->_mocked_http_client->method('getConfig')->willReturn($stack); $this->assertEquals($stack, $this->_client->getHandlerStack()); } /** * @test */ public function testSendRequest() { $response = new Response(200, [], ''); $this->_mocked_http_client->method('send')->willReturn($response); $this->assertEquals($response, $this->_client->sendRequest(new Request('GET', ''))); } }