Commit 6dbfced8 authored by Bas de Nooijer's avatar Bas de Nooijer

Fix for issue #165

parent cb05f3fd
...@@ -194,7 +194,7 @@ class ZendHttp extends Configurable implements AdapterInterface ...@@ -194,7 +194,7 @@ class ZendHttp extends Configurable implements AdapterInterface
break; break;
} }
$client->setUri($endpoint->getBaseUri() . $request->getUri()); $client->setUri($endpoint->getBaseUri() . $request->getHandler());
$client->setHeaders($request->getHeaders()); $client->setHeaders($request->getHeaders());
$this->timeout = $endpoint->getTimeout(); $this->timeout = $endpoint->getTimeout();
......
...@@ -87,7 +87,57 @@ class ZendHttpTest extends \PHPUnit_Framework_TestCase ...@@ -87,7 +87,57 @@ class ZendHttpTest extends \PHPUnit_Framework_TestCase
$this->assertThat($zendHttp, $this->isInstanceOf('Zend_Http_Client')); $this->assertThat($zendHttp, $this->isInstanceOf('Zend_Http_Client'));
} }
public function testExecute() public function testExecuteGet()
{
$method = Request::METHOD_GET;
$rawData = 'xyz';
$responseData = 'abc';
$handler = 'myhandler';
$headers = array(
'X-test: 123'
);
$params = array('a' => 1, 'b' => 2);
$request = new Request();
$request->setMethod($method);
$request->setHandler($handler);
$request->setHeaders($headers);
$request->setRawData($rawData);
$request->setParams($params);
$endpoint = new Endpoint();
$response = new \Zend_Http_Response(200, array('status' => 'HTTP 1.1 200 OK'), $responseData);
$mock = $this->getMock('Zend_Http_Client');
$mock->expects($this->once())
->method('setMethod')
->with($this->equalTo($method));
$mock->expects($this->once())
->method('setUri')
->with($this->equalTo('http://127.0.0.1:8983/solr/myhandler'));
$mock->expects($this->once())
->method('setHeaders')
->with($this->equalTo(array(
'X-test: 123',
)));
$mock->expects($this->once())
->method('setParameterGet')
->with($this->equalTo($params));
$mock->expects($this->once())
->method('request')
->will($this->returnValue($response));
$this->adapter->setZendHttp($mock);
$adapterResponse = $this->adapter->execute($request, $endpoint);
$this->assertEquals(
$responseData,
$adapterResponse->getBody()
);
}
public function testExecutePost()
{ {
$method = Request::METHOD_POST; $method = Request::METHOD_POST;
$rawData = 'xyz'; $rawData = 'xyz';
...@@ -96,12 +146,14 @@ class ZendHttpTest extends \PHPUnit_Framework_TestCase ...@@ -96,12 +146,14 @@ class ZendHttpTest extends \PHPUnit_Framework_TestCase
$headers = array( $headers = array(
'X-test: 123' 'X-test: 123'
); );
$params = array('a' => 1, 'b' => 2);
$request = new Request(); $request = new Request();
$request->setMethod($method); $request->setMethod($method);
$request->setHandler($handler); $request->setHandler($handler);
$request->setHeaders($headers); $request->setHeaders($headers);
$request->setRawData($rawData); $request->setRawData($rawData);
$request->setParams($params);
$endpoint = new Endpoint(); $endpoint = new Endpoint();
...@@ -113,7 +165,7 @@ class ZendHttpTest extends \PHPUnit_Framework_TestCase ...@@ -113,7 +165,7 @@ class ZendHttpTest extends \PHPUnit_Framework_TestCase
->with($this->equalTo($method)); ->with($this->equalTo($method));
$mock->expects($this->once()) $mock->expects($this->once())
->method('setUri') ->method('setUri')
->with($this->equalTo('http://127.0.0.1:8983/solr/myhandler?')); ->with($this->equalTo('http://127.0.0.1:8983/solr/myhandler'));
$mock->expects($this->once()) $mock->expects($this->once())
->method('setHeaders') ->method('setHeaders')
->with($this->equalTo(array( ->with($this->equalTo(array(
...@@ -123,6 +175,9 @@ class ZendHttpTest extends \PHPUnit_Framework_TestCase ...@@ -123,6 +175,9 @@ class ZendHttpTest extends \PHPUnit_Framework_TestCase
$mock->expects($this->once()) $mock->expects($this->once())
->method('setRawData') ->method('setRawData')
->with($this->equalTo($rawData)); ->with($this->equalTo($rawData));
$mock->expects($this->once())
->method('setParameterGet')
->with($this->equalTo($params));
$mock->expects($this->once()) $mock->expects($this->once())
->method('request') ->method('request')
->will($this->returnValue($response)); ->will($this->returnValue($response));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment