public function test_it_retrieves_base_http_url() { $returnedUri = \GuzzleHttp\Psr7\uri_for('http://foo.com'); $this->client->getConfig('base_uri')->shouldBeCalled()->willReturn($returnedUri); $uri = $this->resource->testBaseUri(); $this->assertInstanceOf(Uri::class, $uri); $this->assertEquals($returnedUri, $uri); }
public function test_it_lists_images() { $this->client->getConfig('base_uri')->shouldBeCalled()->willReturn(\GuzzleHttp\Psr7\uri_for('')); $this->client->request('GET', 'v2/images', ['query' => ['limit' => 5], 'headers' => []])->shouldBeCalled()->willReturn($this->getFixture('GET_images')); foreach ($this->service->listImages(['limit' => 5]) as $image) { $this->assertInstanceOf(Image::class, $image); } }
/** * Save the HTML of the session into a file * Optionally resolve all the links with a base uri * * @param string $filename * @throws InvalidArgumentException if directory doesnt exist or is not writable * @param UriInterface|string $base */ public function saveHtml($filename, $base = null) { $this->ensureWritableDirectory(dirname($filename)); $html = new Html($this->getHtml()); if (null !== $base) { $html->resolveLinks(\GuzzleHttp\Psr7\uri_for($base)); } file_put_contents($filename, $html->get()); return $this; }
public function test_it_retrieves() { $this->client->getConfig('base_uri')->shouldBeCalled()->willReturn(\GuzzleHttp\Psr7\uri_for('')); $this->setupMock('GET', $this->path, null, [], 'GET_image'); $this->image->retrieve(); $this->assertEquals("active", $this->image->status); $this->assertEquals("foo", $this->image->name); $this->assertEquals([], $this->image->tags); $this->assertEquals("ami", $this->image->containerFormat); $this->assertEquals(new \DateTimeImmutable("2015-11-12T14:26:08+0000"), $this->image->createdAt); $this->assertEquals("ami", $this->image->diskFormat); $this->assertEquals(new \DateTimeImmutable("2015-12-01T12:25:42+0000"), $this->image->updatedAt); $this->assertEquals("public", $this->image->visibility); $this->assertEquals(20, $this->image->minDisk); $this->assertFalse($this->image->protected); $this->assertEquals("386f0425-3ee8-4688-b73f-272328fe4c71", $this->image->id); $this->assertEquals("061d01418b94d4743a98ee26d941e87c", $this->image->checksum); $this->assertEquals("057aad9fa85b4e29b23e7888000446ef", $this->image->ownerId); $this->assertEquals(983040, $this->image->size); $this->assertEquals(0, $this->image->minRam); $this->assertNull($this->image->virtualSize); }
private function createRequest($uri) { $baseUri = \GuzzleHttp\Psr7\uri_for($this->client->getConfig('base_uri')); $uri = Uri::resolve($baseUri, $uri); return new Request('GET', $uri); }
public function testPerformMultipleShouldRetryOnlyFailedRequests() { $requests = []; $responses = []; for ($i = 0; $i < 5; $i++) { $request = $this->prophesize(RequestInterface::class); $request->getUri()->willReturn(\GuzzleHttp\Psr7\uri_for('')); $requests["a_{$i}"] = $request->reveal(); $response = $this->prophesize(ResponseInterface::class); $response->getStatusCode()->willReturn($i == 3 ? 400 : 200); $response->getReasonPhrase()->willReturn('STATUS'); if (3 != $i) { $this->transport->exec($request->reveal())->willReturn(new FulfilledPromise($response->reveal())); } else { $this->transport->exec($request->reveal())->willReturn(new FulfilledPromise($response->reveal()), new FulfilledPromise($this->successResponse->reveal())); } } $resps = $this->manager->performMultiple($requests); $this->assertEquals(array_keys($requests), array_keys($resps)); }
/** * Client constructor. * * @param \livetyping\hermitage\client\contracts\signer\RequestSigner $signer * @param \GuzzleHttp\ClientInterface $guzzle * @param \Psr\Http\Message\UriInterface|string $baseUri */ public function __construct(RequestSigner $signer, GuzzleClientInterface $guzzle, $baseUri) { $this->signer = $signer; $this->guzzle = $guzzle; $this->baseUri = \GuzzleHttp\Psr7\uri_for($baseUri); }
/** * @param string|Uri $uri * @return Uri */ private function createUri($uri) { $baseUri = \GuzzleHttp\Psr7\uri_for($this->client->getConfig('base_uri')); return Uri::resolve($baseUri, $uri); }