Files
SeMonitoring/libs/vendor/influxdata/influxdb-client-php/tests/ITBucketServiceTest.php
T

115 lines
3.7 KiB
PHP

<?php
use InfluxDB2\ApiException;
use InfluxDB2\Model\BucketRetentionRules;
use InfluxDB2\Model\PostBucketRequest;
use InfluxDB2\ObjectSerializer;
use InfluxDB2\Service\BucketsService;
use InfluxDB2\Service\HealthService;
require_once('IntegrationBaseTestCase.php');
/**
* @group integration
*/
class ITBucketServiceTest extends IntegrationBaseTestCase
{
public function testHealthService()
{
$healthService = $this->client->createService(HealthService::class);
$healthCheck = $healthService->getHealth();
self::assertEquals("influxdb", $healthCheck->getName());
self::assertEquals("ready for queries and writes", $healthCheck->getMessage());
}
public function testFixNanosTimeSerialization()
{
self::assertEquals(
"2020-09-18T08:03:48.12345Z",
ObjectSerializer::fixDatetimeNanos("2020-09-18T08:03:48.12345Z")
);
self::assertEquals(
"2020-09-18T08:03:48.123456Z",
ObjectSerializer::fixDatetimeNanos("2020-09-18T08:03:48.123456Z")
);
self::assertEquals(
"2020-09-18T08:03:48.1234567Z",
ObjectSerializer::fixDatetimeNanos("2020-09-18T08:03:48.1234567Z")
);
self::assertEquals(
"2020-09-18T08:03:48.12345678Z",
ObjectSerializer::fixDatetimeNanos("2020-09-18T08:03:48.12345678Z")
);
self::assertEquals(
"2020-09-18T08:03:48.12345678Z",
ObjectSerializer::fixDatetimeNanos("2020-09-18T08:03:48.123456789Z")
);
self::assertEquals(
"2020-09-18T08:03:48.12345678Z",
ObjectSerializer::fixDatetimeNanos("2020-09-18T08:03:48.1234567899Z")
);
self::assertEquals(
"2021-09-29T06:32:56Z",
ObjectSerializer::fixDatetimeNanos("2021-09-29T06:32:56Z")
);
}
public function testBucketService()
{
/** @var BucketsService $bucketsService */
$bucketsService = $this->client->createService(BucketsService::class);
$buckets = $bucketsService->getBuckets(null, null, 100, null)->getBuckets();
foreach ($buckets as $bucket) {
self::assertNotEmpty($bucket->getName());
self::assertNotEmpty($bucket->getId());
}
}
public function testBucketServiceCreateBucket()
{
/** @var BucketsService $bucketsService */
$bucketsService = $this->client->createService(BucketsService::class);
$rule = new BucketRetentionRules();
$rule->setEverySeconds(3600);
$bucketName = $this->generateBucketName();
$bucketRequest = new PostBucketRequest();
$bucketRequest->setName($bucketName)
->setRetentionRules([$rule])
->setOrgId($this->findMyOrg()->getId());
//create bucket
$respBucket = $bucketsService->postBuckets($bucketRequest);
print $respBucket;
self::assertEquals($bucketName, $respBucket->getName());
//find bucket
$buckets = $bucketsService->getBuckets(null, null, 100, null)->getBuckets();
$findBucket = null;
foreach ($buckets as $bucket) {
self::assertNotEmpty($bucket->getName());
self::assertNotEmpty($bucket->getId());
if ($bucket->getId() == $respBucket->getId()) {
$findBucket = $bucket;
}
}
self::assertNotNull($findBucket);
//delete bucket
$bucketsService->deleteBucketsID($findBucket->getId());
//verify bucket deleted
$this->expectException(ApiException::class);
$this->expectExceptionCode(404);
$this->expectExceptionMessage("bucket not found");
$bucketsService->getBucketsID($findBucket->getId());
}
}