68 lines
1.8 KiB
PHP
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();
|
|
}
|
|
}
|