Skip to content

Commit a806627

Browse files
committed
fix: replaced fragile test based on process fork with mock
1 parent 0b47eae commit a806627

3 files changed

Lines changed: 8 additions & 143 deletions

File tree

.github/workflows/job-tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ jobs:
118118

119119
- name: "Test"
120120
timeout-minutes: 10
121-
run: "composer test -- --debug"
121+
run: "composer test -- --coverage-clover=./var/phpunit/coverage/clover/coverage.xml --log-junit ./var/phpunit/logs/junit.xml"
122122
env:
123123
PGSQL_DATABASE_URL: pgsql://postgres:postgres@127.0.0.1:${{ job.services.postgres.ports[5432] }}/postgres?serverVersion=11&charset=utf8
124124
MYSQL_DATABASE_URL: mysql://mysql:mysql@127.0.0.1:${{ job.services.mysql.ports[3306] }}/mysql

src/bridge/psr18/telemetry/tests/Flow/Bridge/Psr18/Telemetry/Tests/Integration/LocalHttpServer.php

Lines changed: 0 additions & 123 deletions
This file was deleted.

src/bridge/psr18/telemetry/tests/Flow/Bridge/Psr18/Telemetry/Tests/Integration/PSR18TraceableClientIntegrationTest.php

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -15,33 +15,21 @@
1515
use Flow\Telemetry\Tracer\{SpanKind, TracerProvider};
1616
use Nyholm\Psr7\Request;
1717
use PHPUnit\Framework\TestCase;
18-
use Symfony\Component\HttpClient\Psr18Client;
18+
use Symfony\Component\HttpClient\{MockHttpClient, Psr18Client};
19+
use Symfony\Component\HttpClient\Response\MockResponse;
1920

2021
final class PSR18TraceableClientIntegrationTest extends TestCase
2122
{
22-
private LocalHttpServer $server;
23-
24-
protected function setUp() : void
25-
{
26-
$this->server = new LocalHttpServer();
27-
$this->server->start();
28-
}
29-
30-
protected function tearDown() : void
31-
{
32-
$this->server->stop();
33-
}
34-
3523
public function test_real_http_request_creates_span() : void
3624
{
3725
$spanProcessor = new MemorySpanProcessor(new VoidSpanExporter());
3826
$telemetry = $this->createTelemetry($spanProcessor);
3927

40-
$httpClient = new Psr18Client();
28+
$httpClient = new Psr18Client(new MockHttpClient(new MockResponse('ok', ['http_code' => 200])));
4129
$traceableClient = psr18_traceable_client($httpClient, $telemetry);
4230

43-
$request = new Request('GET', $this->server->url());
44-
$response = $traceableClient->sendRequest($request);
31+
$url = 'http://127.0.0.1:8080/';
32+
$response = $traceableClient->sendRequest(new Request('GET', $url));
4533

4634
self::assertSame(200, $response->getStatusCode());
4735

@@ -54,10 +42,10 @@ public function test_real_http_request_creates_span() : void
5442

5543
$attributes = $span->attributes();
5644
self::assertSame('GET', $attributes['http.request.method']);
57-
self::assertSame($this->server->url(), $attributes['url.full']);
45+
self::assertSame($url, $attributes['url.full']);
5846
self::assertSame('http', $attributes['url.scheme']);
5947
self::assertSame('127.0.0.1', $attributes['server.address']);
60-
self::assertSame($this->server->port(), $attributes['server.port']);
48+
self::assertSame(8080, $attributes['server.port']);
6149
self::assertSame(200, $attributes['http.response.status_code']);
6250

6351
self::assertNotNull($span->status());

0 commit comments

Comments
 (0)