public function testAddsProgress() { Server::enqueue([new Response(200)]); $client = new Client(['base_url' => Server::$url]); $request = $client->createRequest('GET'); $called = false; $request->getEmitter()->on('progress', function (ProgressEvent $e) use(&$called) { $called = true; }); $this->assertEquals(200, $client->send($request)->getStatusCode()); $this->assertTrue($called); }
public function testNestedFutureErrorsAreResolvedWhenSending() { $c = new Client(); $total = 3; Server::enqueue([new Response(500), new Response(501), new Response(502)]); $c->getEmitter()->on('error', function (ErrorEvent $e) use(&$total) { if (--$total) { $e->retry(); } }); try { $c->get(Server::$url); $this->fail('Did not throw!'); } catch (RequestException $e) { $this->assertEquals(502, $e->getResponse()->getStatusCode()); } }
<?php require __DIR__ . '/../vendor/autoload.php'; require __DIR__ . '/../vendor/guzzlehttp/ringphp/tests/Client/Server.php'; use GuzzleHttp5Legacy\Tests\Server; Server::start(); register_shutdown_function(function () { Server::stop(); });
/* * Runs a performance test against the node.js server for both serial and * parallel requests. Requires PHP 5.5 or greater. * * # Basic usage * make perf * # With custom options * REQUESTS=100 PARALLEL=5000 make perf */ require __DIR__ . '/bootstrap.php'; use GuzzleHttp5Legacy\Client; use GuzzleHttp5Legacy\Tests\Server; use GuzzleHttp5Legacy\Ring\Client\CurlMultiHandler; use GuzzleHttp5Legacy\Pool; // Wait until the server is responding Server::wait(); // Get custom make variables $total = isset($_SERVER['REQUESTS']) ? $_SERVER['REQUESTS'] : 1000; $parallel = isset($_SERVER['PARALLEL']) ? $_SERVER['PARALLEL'] : 100; $client = new Client(['base_url' => Server::$url]); $t = microtime(true); for ($i = 0; $i < $total; $i++) { $client->get('/guzzle-server/perf'); } $totalTime = microtime(true) - $t; $perRequest = $totalTime / $total * 1000; printf("Serial: %f (%f ms / request) %d total\n", $totalTime, $perRequest, $total); // Create a generator used to yield batches of requests $reqs = function () use($client, $total) { for ($i = 0; $i < $total; $i++) { (yield $client->createRequest('GET', '/guzzle-server/perf'));
public function testContentLengthIntegrationTest() { Server::flush(); Server::enqueue([new Response(200)]); $client = new Client(['base_url' => Server::$url]); $this->assertEquals(200, $client->put('/', ['body' => 'test'])->getStatusCode()); $request = Server::received(true)[0]; $this->assertEquals('PUT', $request->getMethod()); $this->assertEquals('4', $request->getHeader('Content-Length')); $this->assertEquals('test', (string) $request->getBody()); }