From a42effa9f5a8365a30997d67010da3c9b0b6822f Mon Sep 17 00:00:00 2001 From: Michael Wallner Date: Tue, 26 Feb 2019 16:40:44 +0100 Subject: [PATCH] update tests for newer libcurl --- tests/client008.phpt | 7 ++- tests/client018.phpt | 3 ++ tests/client021.phpt | 121 +++++++++++++++++++------------------------ 3 files changed, 60 insertions(+), 71 deletions(-) diff --git a/tests/client008.phpt b/tests/client008.phpt index 3f5641f..c544cb5 100644 --- a/tests/client008.phpt +++ b/tests/client008.phpt @@ -1,9 +1,12 @@ --TEST-- -client configuration +client pipelining --SKIPIF-- =")) { + die("skip CURL_VERSION >= 7.62 -- pipelining disabled\n"); +} ?> --FILE-- configure(array("pipelining" => true, "use_eventloop" => true)); + $client->configure(array("pipelining" => false, "use_eventloop" => true)); $client->enqueue($request); $client->send(); diff --git a/tests/client018.phpt b/tests/client018.phpt index 884a3c6..4bf8c48 100644 --- a/tests/client018.phpt +++ b/tests/client018.phpt @@ -4,6 +4,9 @@ client pipelining =")) { + die("skip CURL_VERSION >= 7.62 -- pipelining disabled\n"); +} ?> --FILE-- getResponse()->getCookies() as $cookie) { - echo trim($cookie), "\n"; +function send_and_check($client, $cmp) { + global $section, $request; + $client->requeue($request)->send(); + foreach ($client->getResponse()->getCookies() as $list) { + foreach ($list->getCookies() as $name => $value) { + if ($cmp[$name] != $value) { + printf("# %s\nExpected %s=%s, got %s\n", + $section, $name, $cmp[$name], $value); + } + } } + #dump(); } $tmpfile = tempnam(sys_get_temp_dir(), "cookie."); $request = new http\Client\Request("GET", "http://localhost"); +$section = "distinct clients"; + server("cookie.inc", function($port) use($request, $tmpfile) { $request->setOptions(array("port" => $port)); $client = new http\Client; - cookies($client->requeue($request)->send()); -dump($tmpfile); + send_and_check($client, ["counter" => 1]); }); server("cookie.inc", function($port) use($request, $tmpfile) { $request->setOptions(array("port" => $port)); $client = new http\Client; - cookies($client->requeue($request)->send()); -dump($tmpfile); + send_and_check($client, ["counter" => 1]); }); server("cookie.inc", function($port) use($request, $tmpfile) { $request->setOptions(array("port" => $port)); $client = new http\Client; - cookies($client->requeue($request)->send()); -dump($tmpfile); + send_and_check($client, ["counter" => 1]); }); +$section = "reusing curl handles"; + server("cookie.inc", function($port) use($request, $tmpfile) { $request->setOptions(array("port" => $port)); $client = new http\Client("curl", "test"); - cookies($client->requeue($request)->send()); -dump($tmpfile); + send_and_check($client, ["counter" => 1]); }); server("cookie.inc", function($port) use($request, $tmpfile) { $request->setOptions(array("port" => $port)); $client = new http\Client("curl", "test"); - cookies($client->requeue($request)->send()); -dump($tmpfile); + send_and_check($client, ["counter" => 2]); }); server("cookie.inc", function($port) use($request, $tmpfile) { $request->setOptions(array("port" => $port)); $client = new http\Client("curl", "test"); - cookies($client->requeue($request)->send()); -dump($tmpfile); + send_and_check($client, ["counter" => 3]); }); +$section = "distict client with persistent cookies"; + $request->setOptions(array("cookiestore" => $tmpfile)); server("cookie.inc", function($port) use($request, $tmpfile) { $request->setOptions(array("port" => $port)); $client = new http\Client; - cookies($client->requeue($request)->send()); -dump($tmpfile); - cookies($client->requeue($request)->send()); -dump($tmpfile); - cookies($client->requeue($request)->send()); -dump($tmpfile); + send_and_check($client, ["counter" => 1]); + send_and_check($client, ["counter" => 2]); + send_and_check($client, ["counter" => 3]); }); server("cookie.inc", function($port) use($request, $tmpfile) { $request->setOptions(array("port" => $port)); $client = new http\Client; - cookies($client->requeue($request)->send()); -dump($tmpfile); - cookies($client->requeue($request)->send()); -dump($tmpfile); - cookies($client->requeue($request)->send()); -dump($tmpfile); + send_and_check($client, ["counter" => 4]); + send_and_check($client, ["counter" => 5]); + send_and_check($client, ["counter" => 6]); }); +$section = "distinct client with persistent cookies, but session cookies removed"; + server("cookie.inc", function($port) use($request, $tmpfile) { $request->setOptions(array("port" => $port, "cookiesession" => true)); $client = new http\Client; - cookies($client->requeue($request)->send()); -dump($tmpfile); - cookies($client->requeue($request)->send()); -dump($tmpfile); - cookies($client->requeue($request)->send()); -dump($tmpfile); + send_and_check($client, ["counter" => 1]); + send_and_check($client, ["counter" => 1]); + send_and_check($client, ["counter" => 1]); }); +$section = "distinct client with persistent cookies, and session cookies kept"; + server("cookie.inc", function($port) use($request, $tmpfile) { $request->setOptions(array("port" => $port, "cookiesession" => false)); $client = new http\Client; - cookies($client->requeue($request)->send()); -dump($tmpfile); - cookies($client->requeue($request)->send()); -dump($tmpfile); - cookies($client->requeue($request)->send()); -dump($tmpfile); + send_and_check($client, ["counter" => 2]); + send_and_check($client, ["counter" => 3]); + send_and_check($client, ["counter" => 4]); }); +$section = "reusing curl handles without persistent cookies and disabling cookie_share"; $c = new http\Client("curl", "test"); $c->configure(array("share_cookies" => false)); @@ -118,20 +125,17 @@ $request->setOptions(array("cookiestore" => null)); server("cookie.inc", function($port) use($request, $tmpfile) { $request->setOptions(array("port" => $port)); $client = new http\Client("curl", "test"); - cookies($client->requeue($request)->send()); -dump($tmpfile); + send_and_check($client, ["counter" => 1]); }); server("cookie.inc", function($port) use($request, $tmpfile) { $request->setOptions(array("port" => $port)); $client = new http\Client("curl", "test"); - cookies($client->requeue($request)->send()); -dump($tmpfile); + send_and_check($client, ["counter" => 1]); }); server("cookie.inc", function($port) use($request, $tmpfile) { $request->setOptions(array("port" => $port)); $client = new http\Client("curl", "test"); - cookies($client->requeue($request)->send()); -dump($tmpfile); + send_and_check($client, ["counter" => 1]); }); @@ -141,25 +145,4 @@ unlink($tmpfile); ===DONE=== --EXPECT-- Test -counter=1; -counter=1; -counter=1; -counter=1; -counter=2; -counter=3; -counter=1; -counter=2; -counter=3; -counter=4; -counter=5; -counter=6; -counter=1; -counter=1; -counter=1; -counter=2; -counter=3; -counter=4; -counter=1; -counter=1; -counter=1; ===DONE=== -- 2.30.2