Files
jabali-panel/tests/Unit/SysstatMetricsTest.php
2026-02-02 03:11:45 +02:00

38 lines
1.1 KiB
PHP

<?php
declare(strict_types=1);
namespace Tests\Unit;
use App\Services\SysstatMetrics;
use Carbon\CarbonImmutable;
use ReflectionClass;
use Tests\TestCase;
class SysstatMetricsTest extends TestCase
{
public function test_parse_csv_timestamp_returns_null_for_empty_input(): void
{
$metrics = new SysstatMetrics;
$reflection = new ReflectionClass($metrics);
$method = $reflection->getMethod('parseCsvTimestamp');
$method->setAccessible(true);
$this->assertNull($method->invoke($metrics, null));
$this->assertNull($method->invoke($metrics, ''));
}
public function test_parse_csv_timestamp_returns_unix_timestamp(): void
{
$metrics = new SysstatMetrics;
$reflection = new ReflectionClass($metrics);
$method = $reflection->getMethod('parseCsvTimestamp');
$method->setAccessible(true);
$value = '2026-02-01 17:00:49 UTC';
$expected = CarbonImmutable::parse($value, $metrics->timezoneName())->getTimestamp();
$this->assertSame($expected, $method->invoke($metrics, $value));
}
}