travis: fix ssl client test
[m6w6/ext-http] / tests / client012.phpt
index ad6c2eb15f0d477cddc9e7712b6dd18999233176..bb599db44c2619b1eac6612f84d7b74f098ac5c1 100644 (file)
@@ -4,34 +4,54 @@ client ssl
 <?php 
 include "skipif.inc";
 skip_online_test();
+skip_client_test();
+skip_curl_test("7.34.0");
 ?>
 --FILE--
 <?php 
-
 echo "Test\n";
 
 $client = new http\Client;
 
-$client->setSslOptions(array("verify_peer" => true));
-$client->addSslOptions(array("verify_host" => 2));
+$client->setSslOptions(array("verifypeer" => true));
+$client->addSslOptions(array("verifyhost" => 2));
 var_dump(
        array(
-               "verify_peer" => true,
-               "verify_host" => 2,
+               "verifypeer" => true,
+               "verifyhost" => 2,
        ) === $client->getSslOptions()
 );
 
+$client->attach($observer = new class implements SplObserver { 
+       public $data = [];
+       function update(SplSubject $client, $req = null, $progress = null) {
+               $ti = $client->getTransferInfo($req);
+               if (isset($ti->tls_session["internals"])) {
+                       foreach ((array) $ti->tls_session["internals"] as $key => $val) {
+                               if (!isset($this->data[$key]) || $this->data[$key] < $val) {
+                                       $this->data[$key] = $val;
+                               }
+                       }
+               }
+       }
+});
+
 $client->enqueue($req = new http\Client\Request("GET", "https://twitter.com/"));
 $client->send();
 
-$ti = (array) $client->getTransferInfo($req);
-var_dump(array_key_exists("ssl_engines", $ti));
-var_dump(0 < count($ti["ssl_engines"]));
+switch ($client->getTransferInfo($req)->tls_session["backend"]) {
+       case "openssl":
+       case "gnutls":
+               if (count($observer->data) < 1) {
+                       die("failed count(ssl.internals) >= 1\n");
+               }
+               break;
+       default:
+               break;
+}
 ?>
 Done
 --EXPECTF--
 Test
 bool(true)
-bool(true)
-bool(true)
 Done