icingaweb2-module-director/test/php/library/Director/Application/MemoryLimitTest.php
Eric Lippmann b6af283732 License source files as GPL-3.0-or-later
Add SPDX license headers and mark source files as GPL-3.0-or-later to
preserve the option to relicense under later GPL versions.
2026-03-24 11:30:06 +01:00

70 lines
1.7 KiB
PHP

<?php
// SPDX-FileCopyrightText: 2018 Icinga GmbH <https://icinga.com>
// SPDX-License-Identifier: GPL-3.0-or-later
namespace Tests\Icinga\Module\Director\Application;
use Icinga\Module\Director\Application\MemoryLimit;
use Icinga\Module\Director\Test\BaseTestCase;
class MemoryLimitTest extends BaseTestCase
{
public function testBytesValuesAreHandled()
{
$this->assertTrue(is_int(MemoryLimit::parsePhpIniByteString('1073741824')));
$this->assertEquals(
1073741824,
MemoryLimit::parsePhpIniByteString('1073741824')
);
}
public function testIntegersAreAccepted()
{
$this->assertEquals(
MemoryLimit::parsePhpIniByteString(1073741824),
1073741824
);
}
public function testNoLimitGivesMinusOne()
{
$this->assertTrue(is_int(MemoryLimit::parsePhpIniByteString('-1')));
$this->assertEquals(
-1,
MemoryLimit::parsePhpIniByteString('-1')
);
}
public function testInvalidStringGivesBytes()
{
$this->assertEquals(
1024,
MemoryLimit::parsePhpIniByteString('1024MB')
);
}
public function testHandlesKiloBytes()
{
$this->assertEquals(
45 * 1024,
MemoryLimit::parsePhpIniByteString('45K')
);
}
public function testHandlesMegaBytes()
{
$this->assertEquals(
512 * 1024 * 1024,
MemoryLimit::parsePhpIniByteString('512M')
);
}
public function testHandlesGigaBytes()
{
$this->assertEquals(
2 * 1024 * 1024 * 1024,
MemoryLimit::parsePhpIniByteString('2G')
);
}
}