markTestSkipped("No valid proxy host name or address specified."); $port = (int) $port; if ($port == 0) { $port = 8080; } else { if (($port < 1 || $port > 65535)) $this->markTestSkipped("$port is not a valid proxy port number. Should be between 1 and 65535."); } $user = ''; $pass = ''; if (defined('TESTS_ZEND_HTTP_CLIENT_HTTP_PROXY_USER') && TESTS_ZEND_HTTP_CLIENT_HTTP_PROXY_USER) $user = TESTS_ZEND_HTTP_CLIENT_HTTP_PROXY_USER; if (defined('TESTS_ZEND_HTTP_CLIENT_HTTP_PROXY_PASS') && TESTS_ZEND_HTTP_CLIENT_HTTP_PROXY_PASS) $pass = TESTS_ZEND_HTTP_CLIENT_HTTP_PROXY_PASS; $this->config = array( 'adapter' => 'Zend_Http_Client_Adapter_Proxy', 'proxy_host' => $host, 'proxy_port' => $port, 'proxy_user' => $user, 'proxy_pass' => $pass, ); parent::setUp(); } else { $this->markTestSkipped("Zend_Http_Client proxy server tests are not enabled in TestConfiguration.php"); } } /** * Test that when no proxy is set the adapter falls back to direct connection * */ public function testFallbackToSocket() { $this->_adapter->setConfig(array( 'proxy_host' => null, )); $this->client->setUri($this->baseuri . 'testGetLastRequest.php'); $res = $this->client->request(Zend_Http_Client::TRACE); if ($res->getStatus() == 405 || $res->getStatus() == 501) { $this->markTestSkipped("Server does not allow the TRACE method"); } $this->assertEquals($this->client->getLastRequest(), $res->getBody(), 'Response body should be exactly like the last request'); } public function testGetLastRequest() { /** * This test will never work for the proxy adapter (and shouldn't!) * because the proxy server modifies the request which is sent back in * the TRACE response */ } }