- Typed exceptions: LeadMailException base with LeadMailRequestException (structured statusCode/errorCode/logId/validationErrors) and LeadMailConnectionException; sendEmail/getDomains now throw these instead of raw Guzzle exceptions, and a malformed body is no longer a silent null. - Automatic retry with exponential backoff on idempotent calls (getDomains, verifyEmail); sends are never retried to avoid duplicates. - Webhook receiver: auto-registered route + LeadMailWebhookController that verifies the HMAC signature, logs failures, and dispatches a LeadMailWebhookReceived event. WebhookSignature/WebhookEvent/LeadMailWebhook helpers for manual handling. - Webhook self-registration client methods (registerWebhook/getWebhook/ deleteWebhook) and a promptless `leadmail:install` command that registers the URL and writes LEADMAIL_WEBHOOK_SECRET to .env. - Null-safe client binding when LEADMAIL_TOKEN is unset. - Test suite (Pest + Testbench) covering all of the above.
18 lines
351 B
PHP
18 lines
351 B
PHP
<?php
|
|
|
|
namespace LeadM\LeadMail\Tests;
|
|
|
|
use LeadM\LeadMail\LeadMailServiceProvider;
|
|
use Orchestra\Testbench\TestCase as Orchestra;
|
|
|
|
abstract class TestCase extends Orchestra
|
|
{
|
|
/**
|
|
* @return array<int, class-string>
|
|
*/
|
|
protected function getPackageProviders($app): array
|
|
{
|
|
return [LeadMailServiceProvider::class];
|
|
}
|
|
}
|