Implement replication management endpoints and enhance application write freeze handling

This commit is contained in:
Jeppe Bundgaard
2026-05-18 09:59:15 +02:00
parent 0399cb4bb4
commit f53b99ad94
13 changed files with 4439 additions and 0 deletions
@@ -0,0 +1,31 @@
<?php
it('registers superuser replication endpoints and permissions', function (): void {
$content = file_get_contents(app_path('routes/superuserReplicationRoute.php'));
expect($content)->not->toBeFalse();
expect($content)->toContain('/superuser/replication');
expect($content)->toContain('/superuser/replication/databases');
expect($content)->toContain('/superuser/replication/redis');
expect($content)->toContain('/superuser/replication/compose-template');
expect($content)->toContain('/superuser/replication/test-credentials');
expect($content)->toContain('/superuser/replication/{kind}/{id}/test');
expect($content)->toContain('/superuser/replication/{kind}/{id}/provision');
expect($content)->toContain('/superuser/replication/{kind}/{id}/promote');
expect($content)->toContain("requirePermission('superuser_replication_view')");
expect($content)->toContain("requirePermission('superuser_replication_manage')");
expect($content)->toContain("requirePermission('superuser_replication_promote')");
expect($content)->toContain("requirePermission('superuser_replication_remove')");
});
it('documents replication management in openapi', function (): void {
$content = file_get_contents(app_path('openapi.yaml'));
expect($content)->toContain('/superuser/replication:');
expect($content)->toContain('operationId: getSuperuserReplication');
expect($content)->toContain('operationId: generateSuperuserReplicationComposeTemplate');
expect($content)->toContain('operationId: testSuperuserReplicationCredentials');
expect($content)->toContain('SuperuserReplicationStatus');
expect($content)->toContain('SuperuserReplicationHostCreateRequest');
expect($content)->toContain('SuperuserReplicationComposeTemplateRequest');
});