You are here

public function LoggingClientTest::testRequestsAreLogged in Search API Elasticsearch 8

File

tests/Elastica/ClientTest.php, line 9

Class

LoggingClientTest

Namespace

Drupal\search_api_elasticsearch\tests\Elastica

Code

public function testRequestsAreLogged() {
  $transport = new NullTransport();
  $connection = $this
    ->getMock('Elastica\\Connection');
  $connection
    ->expects($this
    ->any())
    ->method('getTransportObject')
    ->will($this
    ->returnValue($transport));
  $connection
    ->expects($this
    ->any())
    ->method('toArray')
    ->will($this
    ->returnValue(array()));
  $logger = $this
    ->getMock('Drupal\\search_api_elasticsearch\\Logger\\RequestLogger');
  $logger
    ->expects($this
    ->once())
    ->method('logQuery')
    ->with('foo', Request::GET, $this
    ->isType('array'), $this
    ->isType('array'), $this
    ->isType('array'));
  $client = $this
    ->getMockBuilder('Drupal\\search_api_elasticsearch\\Elastica\\Client')
    ->setMethods(array(
    'getConnection',
  ))
    ->getMock();
  $client
    ->expects($this
    ->any())
    ->method('getConnection')
    ->will($this
    ->returnValue($connection));
  $client
    ->setLogger($logger);
  $response = $client
    ->request('foo');
  $this
    ->assertInstanceOf('Elastica\\Response', $response);
}