-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathWorkerMemoryUsageSubscriberTest.php
More file actions
46 lines (37 loc) · 1.29 KB
/
Copy pathWorkerMemoryUsageSubscriberTest.php
File metadata and controls
46 lines (37 loc) · 1.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
declare(strict_types=1);
namespace WonderNetwork\SlimKernel\Messenger;
use Monolog\Handler\TestHandler;
use Monolog\Logger;
use PHPUnit\Framework\TestCase;
use WonderNetwork\SlimKernel\System\FakeSystem;
final class WorkerMemoryUsageSubscriberTest extends TestCase {
public function testReportsAboveCutoff(): void {
$buffer = new TestHandler();
$logger = new Logger('some');
$logger->pushHandler($buffer);
$system = new FakeSystem();
$sut = new WorkerMemoryUsageSubscriber(
logger: $logger,
cutoff: 10 * 1024,
system: $system,
);
$sut->onWorkerRunning();
self::assertEmpty($buffer->getRecords());
$system->setMemoryUsage(10 * 1024 - 1);
$sut->onWorkerRunning();
self::assertCount(0, $buffer->getRecords());
$system->setMemoryUsage(10 * 1024);
$sut->onWorkerRunning();
self::assertCount(1, $buffer->getRecords());
self::assertSame([
'current' => '10 KB',
'sign' => '+',
'difference' => '10 KB',
], $buffer->getRecords()[0]->context);
$sut->onWorkerRunning();
$system->setMemoryUsage(12 * 1024);
$sut->onWorkerRunning();
self::assertCount(1, $buffer->getRecords());
}
}