Require app-scoped release gates for bundle promotion
This commit is contained in:
@@ -83,6 +83,7 @@ it('normalizes app-specific release gate auto-sync metadata', function (): void
|
||||
'channel_slug' => 'stable',
|
||||
'route_slug' => 'master',
|
||||
'app' => 'api',
|
||||
'apps' => ['api'],
|
||||
'repository' => 'copenhagentruckwash/api',
|
||||
'branch' => 'master',
|
||||
'expected_commit' => 'd52ceb85138740c45f20cda9b7ed9b7a21f0d4e8',
|
||||
@@ -90,6 +91,11 @@ it('normalizes app-specific release gate auto-sync metadata', function (): void
|
||||
'auto_sync' => true,
|
||||
]);
|
||||
|
||||
$fullStackGate = $normalizeGate->invoke($manager, [
|
||||
'channel_slug' => 'stable',
|
||||
], ['slug' => 'stable']);
|
||||
|
||||
expect($fullStackGate['apps'])->toBe(['frontend', 'api']);
|
||||
expect($appMatches->invoke($manager, ['app' => 'api'], 'api'))->toBeTrue();
|
||||
expect($appMatches->invoke($manager, ['apps' => ['frontend', 'api']], 'api'))->toBeTrue();
|
||||
expect($appMatches->invoke($manager, [], 'frontend'))->toBeTrue();
|
||||
@@ -899,6 +905,7 @@ it('defines release manager schema, routes, permissions, and system-status integ
|
||||
expect($manager)->toContain('createBundle');
|
||||
expect($manager)->toContain('deployBundle');
|
||||
expect($manager)->toContain('promoteBundle');
|
||||
expect($manager)->toContain('if ($apiVersionId !== null)');
|
||||
expect($manager)->toContain('setChannelBundle');
|
||||
expect($manager)->toContain('searchAssignmentSubjects');
|
||||
expect($manager)->toContain('publicAssignmentSubjectSuggestion');
|
||||
@@ -975,6 +982,7 @@ it('defines release manager schema, routes, permissions, and system-status integ
|
||||
expect($manager)->toContain('channelSlugForRoute');
|
||||
expect($manager)->toContain('syncChannel');
|
||||
expect($manager)->toContain('runReleaseTest');
|
||||
expect($manager)->toContain("'apps' => \$this->releaseTestAppsFromInput(\$input)");
|
||||
expect($manager)->toContain('releaseTestAppsFromInput');
|
||||
expect($manager)->toContain('release_operation_runs');
|
||||
expect($manager)->toContain('active_channel_app_key');
|
||||
|
||||
Reference in New Issue
Block a user