|
2 | 2 |
|
3 | 3 | namespace Cosmastech\LaravelStatsDAdapter\Tests;
|
4 | 4 |
|
| 5 | +use Cosmastech\PsrLoggerSpy\LogFactory; |
| 6 | +use Cosmastech\PsrLoggerSpy\LoggerSpy; |
5 | 7 | use Cosmastech\StatsDClientAdapter\Adapters\Datadog\DatadogStatsDClientAdapter;
|
6 | 8 | use Cosmastech\StatsDClientAdapter\Adapters\InMemory\InMemoryClientAdapter;
|
7 | 9 | use Cosmastech\StatsDClientAdapter\Adapters\League\LeagueStatsDClientAdapter;
|
8 | 10 | use Cosmastech\StatsDClientAdapter\Clients\Datadog\DatadogLoggingClient;
|
9 | 11 | use Illuminate\Support\Facades\Config;
|
| 12 | +use Illuminate\Support\Facades\Log; |
10 | 13 | use League\StatsD\StatsDClient;
|
11 | 14 | use PHPUnit\Framework\Attributes\Test;
|
12 | 15 |
|
@@ -74,6 +77,31 @@ public function instance_logDatadog_returnsConfiguredDatadogClient(): void
|
74 | 77 | self::assertInstanceOf(DatadogLoggingClient::class, $datadogClientAdapter->getClient());
|
75 | 78 | }
|
76 | 79 |
|
| 80 | + #[Test] |
| 81 | + public function instance_logDatadog_logsToSpecifiedChannel(): void |
| 82 | + { |
| 83 | + // Given |
| 84 | + $loggerSpy = new class (new LogFactory()) extends LoggerSpy { |
| 85 | + public function pushProcessor(): void |
| 86 | + { |
| 87 | + // This will no longer be necessary if/when this PR is merged into laravel/framework https://github.com/laravel/framework/pull/52117/files |
| 88 | + } |
| 89 | + }; |
| 90 | + Log::extend("spy", fn () => $loggerSpy); |
| 91 | + Config::set('statsd-adapter.channels.log_datadog.log_channel', "spy"); |
| 92 | + Config::set('logging.channels.spy', ["driver" => "spy"]); |
| 93 | + |
| 94 | + // And |
| 95 | + $datadogLoggingClientAdapter = $this->createAdapterManager()->instance("log_datadog"); |
| 96 | + |
| 97 | + // When |
| 98 | + $datadogLoggingClientAdapter->increment("testing-counter"); |
| 99 | + |
| 100 | + // Then |
| 101 | + self::assertCount(1, $logs = $loggerSpy->getLogs()); |
| 102 | + self::assertEquals("testing-counter:1|c", $logs[0]->message); |
| 103 | + } |
| 104 | + |
77 | 105 | public function instance_league_returnsConfiguredLeagueStatsDClient(): void
|
78 | 106 | {
|
79 | 107 | // Given
|
|
0 commit comments