78 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			78 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
| 
								 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace OSS\Tests;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								use OSS\Http\RequestCore;
							 | 
						||
| 
								 | 
							
								use OSS\Http\ResponseCore;
							 | 
						||
| 
								 | 
							
								use OSS\Http\RequestCore_Exception;
							 | 
						||
| 
								 | 
							
								use Symfony\Component\Config\Definition\Exception\Exception;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class HttpTest extends \PHPUnit\Framework\TestCase
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function testResponseCore()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $res = new ResponseCore(null, "", 500);
							 | 
						||
| 
								 | 
							
								        $this->assertFalse($res->isOK());
							 | 
						||
| 
								 | 
							
								        $this->assertTrue($res->isOK(500));
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function testGet()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $httpCore = new RequestCore("http://www.baidu.com");
							 | 
						||
| 
								 | 
							
								        $httpResponse = $httpCore->send_request();
							 | 
						||
| 
								 | 
							
								        $this->assertNotNull($httpResponse);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function testSetProxyAndTimeout()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $httpCore = new RequestCore("http://www.baidu.com");
							 | 
						||
| 
								 | 
							
								        $httpCore->set_proxy("1.0.2.1:8888");
							 | 
						||
| 
								 | 
							
								        $httpCore->connect_timeout = 1;
							 | 
						||
| 
								 | 
							
								        try {
							 | 
						||
| 
								 | 
							
								            $httpResponse = $httpCore->send_request();
							 | 
						||
| 
								 | 
							
								            $this->assertTrue(false);
							 | 
						||
| 
								 | 
							
								        } catch (RequestCore_Exception $e) {
							 | 
						||
| 
								 | 
							
								            $this->assertTrue(true);
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function testGetParseTrue()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $httpCore = new RequestCore("http://www.baidu.com");
							 | 
						||
| 
								 | 
							
								        $httpCore->curlopts = array(CURLOPT_HEADER => true);
							 | 
						||
| 
								 | 
							
								        $url = $httpCore->send_request(true);
							 | 
						||
| 
								 | 
							
								        foreach ($httpCore->get_response_header() as $key => $value) {
							 | 
						||
| 
								 | 
							
								            $this->assertEquals($httpCore->get_response_header($key), $value);
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        $this->assertNotNull($url);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function testParseResponse()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $httpCore = new RequestCore("http://www.baidu.com");
							 | 
						||
| 
								 | 
							
								        $response = $httpCore->send_request();
							 | 
						||
| 
								 | 
							
								        $parsed = $httpCore->process_response(null, $response);
							 | 
						||
| 
								 | 
							
								        $this->assertNotNull($parsed);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function testExceptionGet()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $httpCore = null;
							 | 
						||
| 
								 | 
							
								        $exception = false;
							 | 
						||
| 
								 | 
							
								        try {
							 | 
						||
| 
								 | 
							
								            $httpCore = new RequestCore("http://www.notexistsitexx.com");
							 | 
						||
| 
								 | 
							
								            $httpCore->set_body("");
							 | 
						||
| 
								 | 
							
								            $httpCore->set_method("GET");
							 | 
						||
| 
								 | 
							
								            $httpCore->connect_timeout = 10;
							 | 
						||
| 
								 | 
							
								            $httpCore->timeout = 10;
							 | 
						||
| 
								 | 
							
								            $res = $httpCore->send_request();
							 | 
						||
| 
								 | 
							
								        } catch (RequestCore_Exception $e) {
							 | 
						||
| 
								 | 
							
								            $exception = true;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        $this->assertTrue($exception);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 |