Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/openstatusHQ/sdk-php. php sdk for openstatus www.openstatus.dev
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167<?php
declare(strict_types=1);
namespace Openstatus\Sdk\Tests\Unit\Services;
use GuzzleHttp\Psr7\HttpFactory;use GuzzleHttp\Psr7\Response;use Openstatus\Maintenance\V1 as Mt;use Openstatus\Monitor\V1 as M;use Openstatus\Notification\V1 as N;use Openstatus\Sdk\Services\MaintenanceServiceClient;use Openstatus\Sdk\Services\MonitorServiceClient;use Openstatus\Sdk\Services\NotificationServiceClient;use Openstatus\Sdk\Services\StatusPageServiceClient;use Openstatus\Sdk\Services\StatusReportServiceClient;use Openstatus\Sdk\Tests\Support\MockHttpClient;use Openstatus\Sdk\Transport\JsonTransport;use Openstatus\Status_page\V1 as SP;use Openstatus\Status_report\V1 as SR;use PHPUnit\Framework\TestCase;
final class ServiceDispatchTest extends TestCase{ public function testMonitorServiceDispatchesToCorrectRpc(): void { [$http, $svc] = $this->buildMonitorService(); $svc->listMonitors(new M\ListMonitorsRequest());
$sent = $http->lastRequest; self::assertNotNull($sent); self::assertSame( 'https://api.openstatus.dev/rpc/openstatus.monitor.v1.MonitorService/ListMonitors', (string) $sent->getUri(), ); }
public function testMonitorServiceCreateHttpMonitorDispatch(): void { [$http, $svc] = $this->buildMonitorService(); $svc->createHTTPMonitor(new M\CreateHTTPMonitorRequest());
$sent = $http->lastRequest; self::assertNotNull($sent); self::assertStringEndsWith( '/rpc/openstatus.monitor.v1.MonitorService/CreateHTTPMonitor', (string) $sent->getUri(), ); }
public function testStatusReportServiceDispatchesToCorrectRpc(): void { $http = new MockHttpClient(new Response(200, [], '{}')); $svc = new StatusReportServiceClient($this->makeTransport($http)); $svc->listStatusReports(new SR\ListStatusReportsRequest());
$sent = $http->lastRequest; self::assertNotNull($sent); self::assertSame( 'https://api.openstatus.dev/rpc/openstatus.status_report.v1.StatusReportService/ListStatusReports', (string) $sent->getUri(), ); }
public function testStatusPageServiceDispatchesToCorrectRpc(): void { $http = new MockHttpClient(new Response(200, [], '{}')); $svc = new StatusPageServiceClient($this->makeTransport($http)); $svc->listStatusPages(new SP\ListStatusPagesRequest());
$sent = $http->lastRequest; self::assertNotNull($sent); self::assertSame( 'https://api.openstatus.dev/rpc/openstatus.status_page.v1.StatusPageService/ListStatusPages', (string) $sent->getUri(), ); }
public function testStatusPageAddMonitorComponentDispatch(): void { $http = new MockHttpClient(new Response(200, [], '{}')); $svc = new StatusPageServiceClient($this->makeTransport($http)); $svc->addMonitorComponent(new SP\AddMonitorComponentRequest());
$sent = $http->lastRequest; self::assertNotNull($sent); self::assertStringEndsWith( '/rpc/openstatus.status_page.v1.StatusPageService/AddMonitorComponent', (string) $sent->getUri(), ); }
public function testMaintenanceServiceDispatchesToCorrectRpc(): void { $http = new MockHttpClient(new Response(200, [], '{}')); $svc = new MaintenanceServiceClient($this->makeTransport($http)); $svc->listMaintenances(new Mt\ListMaintenancesRequest());
$sent = $http->lastRequest; self::assertNotNull($sent); self::assertSame( 'https://api.openstatus.dev/rpc/openstatus.maintenance.v1.MaintenanceService/ListMaintenances', (string) $sent->getUri(), ); }
public function testNotificationServiceDispatchesToCorrectRpc(): void { $http = new MockHttpClient(new Response(200, [], '{}')); $svc = new NotificationServiceClient($this->makeTransport($http)); $svc->listNotifications(new N\ListNotificationsRequest());
$sent = $http->lastRequest; self::assertNotNull($sent); self::assertSame( 'https://api.openstatus.dev/rpc/openstatus.notification.v1.NotificationService/ListNotifications', (string) $sent->getUri(), ); }
public function testNotificationSendTestDispatch(): void { $http = new MockHttpClient(new Response(200, [], '{}')); $svc = new NotificationServiceClient($this->makeTransport($http)); $svc->sendTestNotification(new N\SendTestNotificationRequest());
$sent = $http->lastRequest; self::assertNotNull($sent); self::assertStringEndsWith( '/rpc/openstatus.notification.v1.NotificationService/SendTestNotification', (string) $sent->getUri(), ); }
public function testServicesPassThroughPerCallHeaders(): void { [$http, $svc] = $this->buildMonitorService(); $svc->listMonitors(new M\ListMonitorsRequest(), ['x-trace-id' => 'abc']);
$sent = $http->lastRequest; self::assertNotNull($sent); self::assertSame('abc', $sent->getHeaderLine('x-trace-id')); }
/** * @return array{MockHttpClient, MonitorServiceClient} */ private function buildMonitorService(): array { $http = new MockHttpClient(new Response(200, [], '{}')); $svc = new MonitorServiceClient($this->makeTransport($http)); return [$http, $svc]; }
private function makeTransport(MockHttpClient $http): JsonTransport { $factory = new HttpFactory(); return new JsonTransport( http: $http, requestFactory: $factory, streamFactory: $factory, baseUrl: 'https://api.openstatus.dev', defaultHeaders: ['Content-Type' => 'application/json'], ); }}