events */ class FakeGlitchTip implements TransportInterface { /** @var list */ public array $events = []; public static function install(): self { $transport = new self; $client = ClientBuilder::create([ 'dsn' => 'https://public@glitchtip.test/1', 'default_integrations' => false, 'send_default_pii' => config('sentry.send_default_pii'), 'max_request_body_size' => config('sentry.max_request_body_size'), 'before_send' => config('sentry.before_send'), ])->setTransport($transport)->getClient(); SentrySdk::getCurrentHub()->bindClient($client); return $transport; } public function send(Event $event): Result { $this->events[] = $event; return new Result(ResultStatus::success(), $event); } public function close(?int $timeout = null): Result { return new Result(ResultStatus::success()); } /** * @return list */ public function messages(): array { return array_values(array_map( static fn (Event $event): string => (string) ($event->getMessage() ?? $event->getExceptions()[0]?->getValue()), $this->events, )); } }