CluPilotCloud/tests/Feature/Provisioning
nexxo 01eff483fa Das Postfach, auf dem alles steht, gibt es jetzt — leer und abgeschaltet
K4. GuestMailConfig sucht das gemeinsame Versandkonto der Kundeninstanzen unter
dem Schluessel `instance-relay`. Diesen Datensatz legte nirgends etwas an, und
die Konsole kann Postfaecher nur bearbeiten, nicht erstellen: der Betreiber
kaeme ohne Tinker gar nicht an den Start.

Daran haengt mehr als eine Einstellung. Ohne Postfach verschickt die
Kunden-Nextcloud keine Mail — aber `occ user:add --generate-password --email`
gelingt trotzdem: Nextcloud legt das Konto an, versucht die Willkommensmail,
protokolliert intern einen Fehler und beendet mit 0. Die Zeile sagte also
"Eingeladen" und die Meldung versprach einen Link, waehrend niemand eine Mail
bekam. Dieselbe Attrappe, die dieses Feature abschaffen sollte, eine Schicht
tiefer.

Die Wanderung legt die Zeile nach dem Muster der Postfach-Wanderung vom 28.07.
an: firstOrNew, mit der Adresse noreply@clupilot.cloud — inaktiv und ohne
Zugangsdaten. Ein Postfach, das ohne Zutun des Betreibers als einsatzbereit
dastuende, waere das naechste stille Versprechen; so erscheint es in der
Konsole als Zeile, die sichtbar noch etwas braucht, und isConfigured() bleibt
false. Ein bereits ausgefuelltes Postfach ruehrt ein zweiter Lauf nicht an —
sonst waere der stillste denkbare Ausfall genau ein `migrate` entfernt.

Die Zeile steht ab jetzt in jeder Testdatenbank. Die Fixtures, die sie bisher
selbst anlegten, fuellen sie aus, statt an der Eindeutigkeit des Schluessels
abzuprallen; die beiden Zusicherungen ueber die fuenf Betreiber-Postfaecher
nennen sie und halten fest, dass jede der beiden Wanderungen nur ihre eigenen
Zeilen zuruecknimmt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-03 23:57:54 +02:00
..
BridgeScriptTest.php Codex-Runde 2: der Gateway-Fix erreichte den Produktivpfad nicht 2026-08-01 13:34:12 +02:00
CollectHostLoadTest.php Release v1.3.93 — die Seite konnte den Host gar nicht fragen 2026-08-01 11:23:00 +02:00
ConfigureInstanceMailTest.php Das Postfach, auf dem alles steht, gibt es jetzt — leer und abgeschaltet 2026-08-03 23:57:54 +02:00
CustomerDataModelTest.php Release v1.3.85 — Handshake-Prüfung hing an einem Programm, das es nicht gibt 2026-08-01 03:00:19 +02:00
CustomerProvisioningEndToEndTest.php Das Postfach, auf dem alles steht, gibt es jetzt — leer und abgeschaltet 2026-08-03 23:57:54 +02:00
CustomerStepBaseTest.php Die Kundeninstanz lernt Mail verschicken 2026-08-03 19:59:44 +02:00
CustomerStepsTest.php Release v1.3.85 — Handshake-Prüfung hing an einem Programm, das es nicht gibt 2026-08-01 03:00:19 +02:00
DataModelTest.php Make host onboarding survive the machine it runs on 2026-07-30 00:54:16 +02:00
EndInstanceServiceTest.php Take the address by field, fix the customer type, ask why they leave 2026-07-30 16:41:32 +02:00
HetznerCloudDnsTest.php Hetzner-Cloud-DNS, Bereitschaftsseite aus sich heraus behebbar 2026-07-31 19:50:01 +02:00
HostOnboardingEndToEndTest.php Hostnamen vergibt CluPilot: ein Name statt zweier, und der Zaehler ueberlebt das Loeschen 2026-08-01 13:45:43 +02:00
HostStepsTest.php Sicherheitsdurchsicht: Passwort-Logins am Host zu, und die Konsole sagt selbst, wo sie offensteht 2026-08-03 10:28:56 +02:00
HostTokenKeyMigrationTest.php Make host onboarding survive the machine it runs on 2026-07-30 00:54:16 +02:00
InstanceRestartTest.php Fix nine defects in the provisioning pipelines 2026-07-30 01:34:55 +02:00
LiveProgressTest.php Send a guest bounced off the console to the console's own sign-in 2026-07-28 13:32:05 +02:00
PipelineRegistryTest.php Ein Schritt ohne Namen zeigt bei jeder Bestellung seinen Schluessel 2026-08-03 23:57:42 +02:00
PruneHostDnsTest.php Hetzner-Cloud-DNS, Bereitschaftsseite aus sich heraus behebbar 2026-07-31 19:50:01 +02:00
RunRunnerTest.php Fix nine defects in the provisioning pipelines 2026-07-30 01:34:55 +02:00
ServicesTest.php Hostnamen vergibt CluPilot: ein Name statt zweier, und der Zaehler ueberlebt das Loeschen 2026-08-01 13:45:43 +02:00
StoragePackHeadroomTest.php Die neue Leiter: Start 39, Team 79, Business 139 2026-08-01 17:05:58 +02:00
StripeWebhookTest.php Stop charging for a service that has ended 2026-07-30 00:52:19 +02:00
SubscriptionSnapshotTest.php Die neue Leiter: Start 39, Team 79, Business 139 2026-08-01 17:05:58 +02:00
TickProvisioningTest.php feat(billing): the plan catalogue becomes three tables, and config stops selling 2026-07-26 12:05:56 +02:00