2021-08-08 20:24:23 +12:00
|
|
|
<?php
|
|
|
|
|
2022-08-28 08:07:55 +12:00
|
|
|
namespace Tests\Unit\Usage;
|
2021-08-08 20:24:23 +12:00
|
|
|
|
2022-08-09 18:28:38 +12:00
|
|
|
use Appwrite\Usage\Stats;
|
2021-08-08 20:24:23 +12:00
|
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
use Utopia\App;
|
|
|
|
|
|
|
|
class StatsTest extends TestCase
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* @var Stats
|
|
|
|
*/
|
|
|
|
protected $object = null;
|
|
|
|
|
|
|
|
public function setUp(): void
|
|
|
|
{
|
|
|
|
$host = App::getEnv('_APP_STATSD_HOST', 'telegraf');
|
|
|
|
$port = App::getEnv('_APP_STATSD_PORT', 8125);
|
|
|
|
|
|
|
|
$connection = new \Domnikl\Statsd\Connection\UdpSocket($host, $port);
|
|
|
|
$statsd = new \Domnikl\Statsd\Client($connection);
|
2021-08-08 21:23:44 +12:00
|
|
|
|
2021-08-08 20:24:23 +12:00
|
|
|
$this->object = new Stats($statsd);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function tearDown(): void
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2022-08-01 22:22:04 +12:00
|
|
|
public function testNamespace(): void
|
2021-08-08 21:23:44 +12:00
|
|
|
{
|
|
|
|
$this->object->setNamespace('appwritetest.usage');
|
|
|
|
$this->assertEquals('appwritetest.usage', $this->object->getNamespace());
|
|
|
|
}
|
|
|
|
|
2022-08-01 22:22:04 +12:00
|
|
|
public function testParams(): void
|
2021-08-08 20:24:23 +12:00
|
|
|
{
|
|
|
|
$this->object
|
2021-08-08 21:23:44 +12:00
|
|
|
->setParam('projectId', 'appwrite_test')
|
|
|
|
->setParam('networkRequestSize', 100)
|
2021-08-08 20:24:23 +12:00
|
|
|
;
|
|
|
|
|
2021-08-08 21:23:44 +12:00
|
|
|
$this->assertEquals('appwrite_test', $this->object->getParam('projectId'));
|
|
|
|
$this->assertEquals(100, $this->object->getParam('networkRequestSize'));
|
|
|
|
|
2021-08-08 20:24:23 +12:00
|
|
|
$this->object->submit();
|
|
|
|
|
2021-08-08 21:23:44 +12:00
|
|
|
$this->assertEquals(null, $this->object->getParam('projectId'));
|
|
|
|
$this->assertEquals(null, $this->object->getParam('networkRequestSize'));
|
2021-08-08 20:24:23 +12:00
|
|
|
}
|
|
|
|
|
2022-08-01 22:22:04 +12:00
|
|
|
public function testReset(): void
|
2021-08-08 20:24:23 +12:00
|
|
|
{
|
|
|
|
$this->object
|
2021-08-08 21:23:44 +12:00
|
|
|
->setParam('projectId', 'appwrite_test')
|
|
|
|
->setParam('networkRequestSize', 100)
|
2021-08-08 20:24:23 +12:00
|
|
|
;
|
|
|
|
|
2021-08-08 21:23:44 +12:00
|
|
|
$this->assertEquals('appwrite_test', $this->object->getParam('projectId'));
|
|
|
|
$this->assertEquals(100, $this->object->getParam('networkRequestSize'));
|
2021-08-08 20:24:23 +12:00
|
|
|
|
|
|
|
$this->object->reset();
|
|
|
|
|
2021-08-08 21:23:44 +12:00
|
|
|
$this->assertEquals(null, $this->object->getParam('projectId'));
|
|
|
|
$this->assertEquals(null, $this->object->getParam('networkRequestSize'));
|
|
|
|
$this->assertEquals('appwrite.usage', $this->object->getNamespace());
|
2021-08-08 20:24:23 +12:00
|
|
|
}
|
|
|
|
}
|