mail: Bounce-Abruf liest RFC 6533, All-Inkl-Freitext und ganze INBOX
Befund aus 151 echten Rücklaeufern: 2 SmarterMail-DSNs (message/global-delivery-status) und 2 Freitext-Hinweise des eigenen Relays (X-KASMail-Error, formal auto-replied) fielen durch. Policy- und Quota-Codes zaehlen weich statt hart. Abruf ohne UNSEEN-Filter, weil das Verschieben die Zustandsmarke ist. Dazu Schutz in tests/TestCase.php: Suite bricht ab, wenn ein Config-Cache sie auf die Dev-Datenbank umlenkt. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
71d9639491
commit
fddfd8a61c
9 changed files with 323 additions and 15 deletions
|
|
@ -3,8 +3,25 @@
|
|||
namespace Tests;
|
||||
|
||||
use Illuminate\Foundation\Testing\TestCase as BaseTestCase;
|
||||
use RuntimeException;
|
||||
|
||||
abstract class TestCase extends BaseTestCase
|
||||
{
|
||||
//
|
||||
/**
|
||||
* Schutz vor einem gecachten `bootstrap/cache/config.php`: Der überlagert
|
||||
* die phpunit.xml-Umgebung, die Suite läuft dann gegen die Dev-Datenbank
|
||||
* aus der .env — und `RefreshDatabase` leert sie (passiert am
|
||||
* 15.09.2026, 3 GB Bestandskopie weg). Lieber laut abbrechen.
|
||||
*/
|
||||
protected function setUp(): void
|
||||
{
|
||||
parent::setUp();
|
||||
|
||||
if (config('database.default') !== 'sqlite' || config('database.connections.sqlite.database') !== ':memory:') {
|
||||
throw new RuntimeException(sprintf(
|
||||
'Tests laufen gegen „%s“ statt SQLite :memory: — vermutlich liegt ein Config-Cache. `php artisan config:clear` und erneut starten.',
|
||||
config('database.default'),
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue