Skip to content

Commit badad66

Browse files
committed
Covers var-dumper handler with tests
1 parent 96b7ae1 commit badad66

File tree

5 files changed

+112
-8
lines changed

5 files changed

+112
-8
lines changed

tests/Feature/Interfaces/Http/ControllerTestCase.php

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
namespace Tests\Feature\Interfaces\Http;
66

7-
use App\Application\Domain\ValueObjects\Uuid;
87
use Tests\App\Http\HttpFaker;
98
use Tests\TestCase;
109

@@ -18,9 +17,4 @@ protected function setUp(): void
1817

1918
$this->http = new HttpFaker($this->fakeHttp(), $this);
2019
}
21-
22-
protected function randomUuid(): Uuid
23-
{
24-
return Uuid::generate();
25-
}
2620
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Tests\Feature\Interfaces\TCP;
6+
7+
use Tests\TestCase;
8+
9+
abstract class TCPTestCase extends TestCase
10+
{
11+
12+
}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Interfaces\TCP\VarDumper;
6+
7+
use Modules\VarDumper\Interfaces\TCP\Service;
8+
use Spiral\RoadRunner\Tcp\Request;
9+
use Spiral\RoadRunner\Tcp\TcpEvent;
10+
use Tests\Feature\Interfaces\TCP\TCPTestCase;
11+
12+
final class SymfonyV6Test extends TCPTestCase
13+
{
14+
public function testSendDump(): void
15+
{
16+
dump('foo');
17+
18+
$payload = 'YToyOntpOjA7TzozOToiU3ltZm9ueVxDb21wb25lbnRcVmFyRHVtcGVyXENsb25lclxEYXRhIjo3OntzOjQ1OiIAU3ltZm9ueVxDb21wb25lbnRcVmFyRHVtcGVyXENsb25lclxEYXRhAGRhdGEiO2E6MTp7aTowO2E6MTp7aTowO3M6MzoiZm9vIjt9fXM6NDk6IgBTeW1mb255XENvbXBvbmVudFxWYXJEdW1wZXJcQ2xvbmVyXERhdGEAcG9zaXRpb24iO2k6MDtzOjQ0OiIAU3ltZm9ueVxDb21wb25lbnRcVmFyRHVtcGVyXENsb25lclxEYXRhAGtleSI7aTowO3M6NDk6IgBTeW1mb255XENvbXBvbmVudFxWYXJEdW1wZXJcQ2xvbmVyXERhdGEAbWF4RGVwdGgiO2k6MjA7czo1NzoiAFN5bWZvbnlcQ29tcG9uZW50XFZhckR1bXBlclxDbG9uZXJcRGF0YQBtYXhJdGVtc1BlckRlcHRoIjtpOi0xO3M6NTQ6IgBTeW1mb255XENvbXBvbmVudFxWYXJEdW1wZXJcQ2xvbmVyXERhdGEAdXNlUmVmSGFuZGxlcyI7aTotMTtzOjQ4OiIAU3ltZm9ueVxDb21wb25lbnRcVmFyRHVtcGVyXENsb25lclxEYXRhAGNvbnRleHQiO2E6MDp7fX1pOjE7YTozOntzOjk6InRpbWVzdGFtcCI7ZDoxNzAxNDk5NDM3LjUzODQ0NztzOjM6ImNsaSI7YToyOntzOjEyOiJjb21tYW5kX2xpbmUiO3M6MzIxOiIvcm9vdC9yZXBvcy9idWdncmVhZ3Rvci9zcGlyYWwtYXBwL3ZlbmRvci9waHB1bml0L3BocHVuaXQvcGhwdW5pdCAtLWNvbmZpZ3VyYXRpb24gL3Jvb3QvcmVwb3MvYnVnZ3JlYWd0b3Ivc3BpcmFsLWFwcC9waHB1bml0LnhtbCAtLWZpbHRlciAvKEludGVyZmFjZXNcXFRDUFxcVmFyRHVtcGVyXFxTeW1mb255VjZUZXN0Ojp0ZXN0U2VuZER1bXApKCAuKik/JC8gLS10ZXN0LXN1ZmZpeCBTeW1mb255VjZUZXN0LnBocCAvcm9vdC9yZXBvcy9idWdncmVhZ3Rvci9zcGlyYWwtYXBwL3Rlc3RzL0ZlYXR1cmUvSW50ZXJmYWNlcy9UQ1AvVmFyRHVtcGVyIC0tdGVhbWNpdHkiO3M6MTA6ImlkZW50aWZpZXIiO3M6ODoiZGVlMTBhZWUiO31zOjY6InNvdXJjZSI7YTo0OntzOjQ6Im5hbWUiO3M6MTc6IlN5bWZvbnlWNlRlc3QucGhwIjtzOjQ6ImZpbGUiO3M6OTE6Ii9yb290L3JlcG9zL2J1Z2dyZWFndG9yL3NwaXJhbC1hcHAvdGVzdHMvRmVhdHVyZS9JbnRlcmZhY2VzL1RDUC9WYXJEdW1wZXIvU3ltZm9ueVY2VGVzdC5waHAiO3M6NDoibGluZSI7aToxMztzOjEyOiJmaWxlX2V4Y2VycHQiO2I6MDt9fX0=';
19+
20+
$service = $this->get(Service::class);
21+
22+
$service->handle(
23+
new Request(
24+
remoteAddr: '127.0.0.1',
25+
event: TcpEvent::Data,
26+
body: $payload,
27+
connectionUuid: (string)$this->randomUuid(),
28+
server: 'local',
29+
),
30+
);
31+
32+
$this->broadcastig->assertPushed('events', function (array $data) {
33+
$this->assertSame('event.received', $data['event']);
34+
$this->assertSame('var-dump', $data['data']['type']);
35+
36+
$this->assertSame([
37+
'type' => 'string',
38+
'value' => 'foo',
39+
], $data['data']['payload']['payload']);
40+
41+
$this->assertNotEmpty($data['data']['uuid']);
42+
$this->assertNotEmpty($data['data']['timestamp']);
43+
44+
45+
return true;
46+
});
47+
}
48+
}
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Interfaces\TCP\VarDumper;
6+
7+
use Modules\VarDumper\Interfaces\TCP\Service;
8+
use Spiral\RoadRunner\Tcp\Request;
9+
use Spiral\RoadRunner\Tcp\TcpEvent;
10+
use Tests\Feature\Interfaces\TCP\TCPTestCase;
11+
12+
final class SymfonyV7Test extends TCPTestCase
13+
{
14+
public function testSendDump(): void
15+
{
16+
$payload = 'YToyOntpOjA7TzozOToiU3ltZm9ueVxDb21wb25lbnRcVmFyRHVtcGVyXENsb25lclxEYXRhIjo3OntzOjQ1OiIAU3ltZm9ueVxDb21wb25lbnRcVmFyRHVtcGVyXENsb25lclxEYXRhAGRhdGEiO2E6MTp7aTowO2E6MTp7aTowO3M6MzoiZm9vIjt9fXM6NDk6IgBTeW1mb255XENvbXBvbmVudFxWYXJEdW1wZXJcQ2xvbmVyXERhdGEAcG9zaXRpb24iO2k6MDtzOjQ0OiIAU3ltZm9ueVxDb21wb25lbnRcVmFyRHVtcGVyXENsb25lclxEYXRhAGtleSI7aTowO3M6NDk6IgBTeW1mb255XENvbXBvbmVudFxWYXJEdW1wZXJcQ2xvbmVyXERhdGEAbWF4RGVwdGgiO2k6MjA7czo1NzoiAFN5bWZvbnlcQ29tcG9uZW50XFZhckR1bXBlclxDbG9uZXJcRGF0YQBtYXhJdGVtc1BlckRlcHRoIjtpOi0xO3M6NTQ6IgBTeW1mb255XENvbXBvbmVudFxWYXJEdW1wZXJcQ2xvbmVyXERhdGEAdXNlUmVmSGFuZGxlcyI7aTotMTtzOjQ4OiIAU3ltZm9ueVxDb21wb25lbnRcVmFyRHVtcGVyXENsb25lclxEYXRhAGNvbnRleHQiO2E6MDp7fX1pOjE7YTozOntzOjk6InRpbWVzdGFtcCI7ZDoxNzAxNDk5ODQ1LjAxMjIzNjtzOjM6ImNsaSI7YToyOntzOjEyOiJjb21tYW5kX2xpbmUiO3M6MzIxOiIvcm9vdC9yZXBvcy9idWdncmVhZ3Rvci9zcGlyYWwtYXBwL3ZlbmRvci9waHB1bml0L3BocHVuaXQvcGhwdW5pdCAtLWNvbmZpZ3VyYXRpb24gL3Jvb3QvcmVwb3MvYnVnZ3JlYWd0b3Ivc3BpcmFsLWFwcC9waHB1bml0LnhtbCAtLWZpbHRlciAvKEludGVyZmFjZXNcXFRDUFxcVmFyRHVtcGVyXFxTeW1mb255VjZUZXN0Ojp0ZXN0U2VuZER1bXApKCAuKik/JC8gLS10ZXN0LXN1ZmZpeCBTeW1mb255VjZUZXN0LnBocCAvcm9vdC9yZXBvcy9idWdncmVhZ3Rvci9zcGlyYWwtYXBwL3Rlc3RzL0ZlYXR1cmUvSW50ZXJmYWNlcy9UQ1AvVmFyRHVtcGVyIC0tdGVhbWNpdHkiO3M6MTA6ImlkZW50aWZpZXIiO3M6ODoiNmMwYjkyODMiO31zOjY6InNvdXJjZSI7YTo0OntzOjQ6Im5hbWUiO3M6MTc6IlN5bWZvbnlWNlRlc3QucGhwIjtzOjQ6ImZpbGUiO3M6OTE6Ii9yb290L3JlcG9zL2J1Z2dyZWFndG9yL3NwaXJhbC1hcHAvdGVzdHMvRmVhdHVyZS9JbnRlcmZhY2VzL1RDUC9WYXJEdW1wZXIvU3ltZm9ueVY2VGVzdC5waHAiO3M6NDoibGluZSI7aToxNjtzOjEyOiJmaWxlX2V4Y2VycHQiO2I6MDt9fX0=';
17+
18+
$service = $this->get(Service::class);
19+
20+
$service->handle(
21+
new Request(
22+
remoteAddr: '127.0.0.1',
23+
event: TcpEvent::Data,
24+
body: $payload,
25+
connectionUuid: (string)$this->randomUuid(),
26+
server: 'local',
27+
),
28+
);
29+
30+
$this->broadcastig->assertPushed('events', function (array $data) {
31+
$this->assertSame('event.received', $data['event']);
32+
$this->assertSame('var-dump', $data['data']['type']);
33+
34+
$this->assertSame([
35+
'type' => 'string',
36+
'value' => 'foo',
37+
], $data['data']['payload']['payload']);
38+
39+
$this->assertNotEmpty($data['data']['uuid']);
40+
$this->assertNotEmpty($data['data']['timestamp']);
41+
42+
43+
return true;
44+
});
45+
}
46+
}

tests/TestCase.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,9 @@
44

55
namespace Tests;
66

7+
use App\Application\Domain\ValueObjects\Uuid;
78
use App\Application\Service\ErrorHandler\Handler;
89
use Modules\Events\Domain\EventRepositoryInterface;
9-
use Psr\SimpleCache\CacheInterface;
10-
use Spiral\Cache\Storage\ArrayStorage;
1110
use Spiral\Core\Container;
1211
use Spiral\Core\ContainerScope;
1312
use Spiral\Testing\TestableKernelInterface;
@@ -91,4 +90,9 @@ public function fakeEvents(): EventsMocker
9190

9291
return $this->events;
9392
}
93+
94+
protected function randomUuid(): Uuid
95+
{
96+
return Uuid::generate();
97+
}
9498
}

0 commit comments

Comments
 (0)