public function testExecutePostPlugin()
 {
     $query = new PingQuery();
     $response = new Response('', array('HTTP 1.0 200 OK'));
     $result = new Result($this->client, $query, $response);
     $expectedEvent = new PostExecuteEvent($query, $result);
     $expectedEvent->setName(Events::POST_EXECUTE);
     $mock = $this->getMock('Solarium\\Core\\Client\\Client', array('createRequest', 'executeRequest', 'createResult'));
     $mock->expects($this->once())->method('createRequest')->will($this->returnValue('dummyrequest'));
     $mock->expects($this->once())->method('executeRequest')->will($this->returnValue('dummyresponse'));
     $mock->expects($this->once())->method('createResult')->will($this->returnValue($result));
     $observer = $this->getMock('Solarium\\Core\\Plugin\\Plugin', array('postExecute'));
     $observer->expects($this->once())->method('postExecute')->with($this->equalTo($expectedEvent));
     $mock->getEventDispatcher()->addListener(Events::POST_EXECUTE, array($observer, 'postExecute'));
     $expectedEvent->setDispatcher($mock->getEventDispatcher());
     $mock->execute($query);
 }