InfluxPHP/tests/DBTest.php
2013-11-12 15:16:18 -03:00

68 lines
1.8 KiB
PHP

<?php
use crodas\InfluxPHP\Client;
use crodas\InfluxPHP\DB;
class DBTest extends \phpunit_framework_testcase
{
public function testCreate()
{
$client = new Client;
return $client->createDatabase("test_foobar");
}
/**
* @expectedException RuntimeException
*/
public function testCreateException()
{
$client = new Client;
return $client->createDatabase("test_foobar");
}
/**
* @dependsOn testCreateException
*/
public function testDelete()
{
$client = new Client;
return $client->deleteDatabase("test_foobar");
}
/**
* @dependsOn testDelete
* @expectedException RuntimeException
*/
public function testDeleteException()
{
$client = new Client;
return $client->deleteDatabase("test_foobar");
}
public function testDBObject()
{
$client = new Client;
$client->createDatabase("test_xxx");
$this->assertTrue($client->test_xxx instanceof DB);
$this->assertTrue($client->getDatabase("test_xxx") instanceof DB);
$client->test_xxx->drop();
}
public function testQuery()
{
$client = new Client;
$db = $client->createDatabase("test_" . uniqid(true));
$db->createUser("root", "root");
$db->insert("foobar", ['type' => '/foobar', 'karma' => 10]);
$db->insert("foobar", ['type' => '/foobar', 'karma' => 20]);
$db->insert("foobar", ['type' => '/barfoo', 'karma' => 30]);
sleep(1);
$this->assertEquals($db->first("SELECT max(karma) FROM foobar;")->max, 30);
$this->assertEquals($db->first("SELECT min(karma) FROM foobar;")->min, 10);
$this->assertEquals($db->first("SELECT mean(karma) FROM foobar;")->mean, 20);
$db->drop();
}
}