Files
librenms-librenms/tests/unit/ClientTest.php

67 lines
1.7 KiB
PHP
Raw Normal View History

2015-06-18 14:59:00 +02:00
<?php
2015-06-23 09:19:24 +02:00
namespace InfluxDB\Test;
2015-06-18 14:59:00 +02:00
2015-07-21 00:34:08 +02:00
use GuzzleHttp\Client as GuzzleClient;
use GuzzleHttp\Handler\MockHandler;
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Psr7\Response;
2015-06-23 09:19:24 +02:00
use InfluxDB\Client;
2015-07-21 00:34:08 +02:00
use InfluxDB\Driver\Guzzle;
2015-06-18 14:59:00 +02:00
class ClientTest extends \PHPUnit_Framework_TestCase
{
/** @var Client $client */
protected $client = null;
2015-07-21 00:34:08 +02:00
2015-06-18 14:59:00 +02:00
public function testBaseURl()
{
2015-07-03 17:20:35 +02:00
$client = new Client('localhost', 8086);
2015-07-21 00:34:08 +02:00
$this->assertEquals($client->getBaseURI(), 'http://localhost:8086');
2015-06-18 14:59:00 +02:00
}
2015-07-03 17:29:25 +02:00
public function testSelectDbShouldReturnDatabaseInstance()
{
$client = new Client('localhost', 8086);
$dbName = 'test-database';
2015-07-21 00:34:08 +02:00
$database = $client->selectDB($dbName);
2015-07-03 17:29:25 +02:00
2015-07-21 00:34:08 +02:00
$this->assertInstanceOf('\InfluxDB\Database', $database);
2015-07-03 17:29:25 +02:00
2015-07-21 00:34:08 +02:00
$this->assertEquals($dbName, $database->getName());
2015-07-03 17:29:25 +02:00
}
2015-07-06 15:58:29 +02:00
/**
*/
2015-07-21 00:34:08 +02:00
public function testGuzzleQuery()
2015-07-06 15:58:29 +02:00
{
$client = new Client('localhost', 8086);
$query = "some-bad-query";
$bodyResponse = file_get_contents(dirname(__FILE__) . '/result.example.json');
2015-07-21 00:34:08 +02:00
$httpMockClient = self::buildHttpMockClient($bodyResponse);
2015-07-06 15:58:29 +02:00
2015-07-21 00:34:08 +02:00
$client->setDriver(new Guzzle($httpMockClient));
2015-07-06 15:58:29 +02:00
/** @var \InfluxDB\ResultSet $result */
$result = $client->query(null, $query);
$this->assertInstanceOf('\InfluxDB\ResultSet', $result);
}
/**
* @return \Guzzle\Http\Client
*/
2015-07-21 00:34:08 +02:00
public static function buildHttpMockClient($body)
2015-07-06 15:58:29 +02:00
{
2015-07-21 00:34:08 +02:00
// Create a mock and queue two responses.
$mock = new MockHandler([new Response(200, array(), $body)]);
$handler = HandlerStack::create($mock);
return new GuzzleClient(['handler' => $handler]);
2015-07-06 15:58:29 +02:00
}
2015-06-18 14:59:00 +02:00
}