87 lines
2.5 KiB
PHP
87 lines
2.5 KiB
PHP
<?php
|
|
|
|
/** DomFramework - Tests
|
|
* @package domframework
|
|
* @author Dominique Fournier <dominique@fournier38.fr>
|
|
* @license BSD
|
|
*/
|
|
|
|
namespace Domframework\Tests;
|
|
|
|
use Domframework\Tcpclient;
|
|
|
|
/** Test the TCP client */
|
|
class TcpclientTest extends \PHPUnit_Framework_TestCase
|
|
{
|
|
public function test_GoogleIPv4()
|
|
{
|
|
$tcpclient = new Tcpclient("www.google.fr", 80);
|
|
$tcpclient->preferIPv4(true);
|
|
$tcpclient->connect();
|
|
$tcpclient->send("GET / HTTP/1.1\r\n" .
|
|
"Host: www.google.fr\r\n" .
|
|
"User-Agent: DomFramework\r\n" .
|
|
"Accept: *" . "/*\r\n" .
|
|
"\r\n");
|
|
$res = "";
|
|
while (($read = $tcpclient->read()) !== "") {
|
|
$res .= $read . "\r\n";
|
|
}
|
|
$tcpclient->disconnect();
|
|
$this->assertSame(substr($res, 0, 15), "HTTP/1.1 200 OK");
|
|
}
|
|
|
|
public function test_GoogleIPv4orIpv6()
|
|
{
|
|
$tcpclient = new Tcpclient("www.google.fr", 80);
|
|
$tcpclient->connect();
|
|
$tcpclient->send("GET / HTTP/1.1\r\n" .
|
|
"Host: www.google.fr\r\n" .
|
|
"User-Agent: DomFramework\r\n" .
|
|
"Accept: *" . "/*\r\n" .
|
|
"\r\n");
|
|
$res = "";
|
|
while (($read = $tcpclient->read()) !== "") {
|
|
$res .= $read . "\r\n";
|
|
}
|
|
$tcpclient->disconnect();
|
|
$this->assertSame(substr($res, 0, 15), "HTTP/1.1 200 OK");
|
|
}
|
|
|
|
public function test_GoogleSSL()
|
|
{
|
|
$tcpclient = new Tcpclient("www.google.fr", 443);
|
|
$tcpclient->connect();
|
|
$tcpclient->cryptoEnable(true);
|
|
$tcpclient->send("GET / HTTP/1.1\r\n" .
|
|
"Host: www.google.fr\r\n" .
|
|
"User-Agent: DomFramework\r\n" .
|
|
"Accept: *" . "/*\r\n" .
|
|
"\r\n");
|
|
$res = "";
|
|
while (($read = $tcpclient->read()) !== "") {
|
|
$res .= $read . "\r\n";
|
|
}
|
|
$tcpclient->disconnect();
|
|
$this->assertSame(substr($res, 0, 15), "HTTP/1.1 200 OK");
|
|
}
|
|
|
|
public function test_GoogleSSLIPv6()
|
|
{
|
|
$tcpclient = new Tcpclient("ipv6.google.com", 443);
|
|
$tcpclient->connect();
|
|
$tcpclient->cryptoEnable(true);
|
|
$tcpclient->send("GET / HTTP/1.1\r\n" .
|
|
"Host: www.google.fr\r\n" .
|
|
"User-Agent: DomFramework\r\n" .
|
|
"Accept: *" . "/*\r\n" .
|
|
"\r\n");
|
|
$res = "";
|
|
while (($read = $tcpclient->read()) !== "") {
|
|
$res .= $read . "\r\n";
|
|
}
|
|
$tcpclient->disconnect();
|
|
$this->assertSame(substr($res, 0, 15), "HTTP/1.1 200 OK");
|
|
}
|
|
}
|