Skip to content

Commit 4a57268

Browse files
aparajonclaude
andcommitted
refactor(storage): rename check refresh requests to merge gate requests
The durable fan-out table is named for what it actuates — sibling changes' merge gates — rather than the GitHub Checks vocabulary. The originating change identity is now code-host neutral: provider (default github) plus a provider-scoped change_key string replace the GitHub-shaped pull_request integer, so changes on other code hosts can originate applies without a schema change. WebhookProviderGitHub generalizes to ProviderGitHub, shared by every table that attributes rows to a code host. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent 8e2df15 commit 4a57268

21 files changed

Lines changed: 319 additions & 303 deletions

pkg/api/handlers_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ func (m *mockStorage) ApplyOperations() storage.ApplyOperationStore { return nil
4646
func (m *mockStorage) Checks() storage.CheckStore { return nil }
4747
func (m *mockStorage) Settings() storage.SettingsStore { return nil }
4848
func (m *mockStorage) WebhookEvents() storage.WebhookEventStore { return m.webhookEvents }
49-
func (m *mockStorage) CheckRefreshRequests() storage.CheckRefreshRequestStore {
49+
func (m *mockStorage) MergeGateRequests() storage.MergeGateRequestStore {
5050
return nil
5151
}
5252
func (m *mockStorage) Ping(ctx context.Context) error { return m.pingErr }
Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
1-
CREATE TABLE `check_refresh_requests` (
1+
CREATE TABLE `merge_gate_requests` (
22
`id` bigint unsigned NOT NULL AUTO_INCREMENT,
33
`apply_id` bigint unsigned NOT NULL,
44
`apply_identifier` varchar(255) NOT NULL,
55
`environment` varchar(50) NOT NULL,
66
`database_type` varchar(50) NOT NULL,
77
`database_name` varchar(255) NOT NULL,
8+
`provider` varchar(50) NOT NULL DEFAULT 'github',
89
`repository` varchar(255) NOT NULL DEFAULT '',
9-
`pull_request` int unsigned NOT NULL DEFAULT '0',
10+
`change_key` varchar(255) NOT NULL DEFAULT '',
1011
`requested_by` varchar(255) NOT NULL DEFAULT '',
1112
`state` varchar(50) NOT NULL,
1213
`attempts` int unsigned NOT NULL DEFAULT '0',
@@ -19,7 +20,7 @@ CREATE TABLE `check_refresh_requests` (
1920
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
2021
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
2122
PRIMARY KEY (`id`),
22-
UNIQUE KEY `idx_check_refresh_apply` (`apply_id`),
23-
KEY `idx_check_refresh_claimable` (`state`,`retry_after`,`lease_expires_at`,`created_at`),
24-
KEY `idx_check_refresh_target` (`environment`,`database_type`,`database_name`,`state`)
23+
UNIQUE KEY `idx_merge_gate_apply` (`apply_id`),
24+
KEY `idx_merge_gate_claimable` (`state`,`retry_after`,`lease_expires_at`,`created_at`),
25+
KEY `idx_merge_gate_target` (`environment`,`database_type`,`database_name`,`state`)
2526
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

pkg/storage/errors.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,9 @@ var (
6969
// ErrWebhookEventLeaseLost is returned when a driver no longer owns a durable webhook event.
7070
ErrWebhookEventLeaseLost = errors.New("webhook event lease lost")
7171

72-
// ErrCheckRefreshNotFound is returned when a durable check refresh request does not exist.
73-
ErrCheckRefreshNotFound = errors.New("check refresh request not found")
72+
// ErrMergeGateNotFound is returned when a durable merge gate request does not exist.
73+
ErrMergeGateNotFound = errors.New("merge gate request not found")
7474

75-
// ErrCheckRefreshLeaseLost is returned when a driver no longer owns a durable check refresh request.
76-
ErrCheckRefreshLeaseLost = errors.New("check refresh request lease lost")
75+
// ErrMergeGateLeaseLost is returned when a driver no longer owns a durable merge gate request.
76+
ErrMergeGateLeaseLost = errors.New("merge gate request lease lost")
7777
)

pkg/storage/mysqlstore/checks.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -509,7 +509,7 @@ func (s *checkStore) GetByDatabase(ctx context.Context, repo, environment, dbTyp
509509
}
510510

511511
// GetByTarget returns all checks for a target across all repositories and PRs.
512-
// The check refresh fan-out uses it: a CLI/gRPC apply carries no repository, so
512+
// The merge gate fan-out uses it: a CLI/gRPC apply carries no repository, so
513513
// the fan-out must find every PR planned against the target regardless of repo.
514514
func (s *checkStore) GetByTarget(ctx context.Context, environment, dbType, database string) ([]*storage.Check, error) {
515515
rows, err := s.db.QueryContext(ctx, `
@@ -527,7 +527,7 @@ func (s *checkStore) GetByTarget(ctx context.Context, environment, dbType, datab
527527
}
528528

529529
// MarkBlockedForFailedRefresh flips stored check state to a blocking conclusion
530-
// after a check refresh re-plan failed. The head SHA predicate makes the write
530+
// after a merge gate re-plan failed. The head SHA predicate makes the write
531531
// optimistic-concurrency: a racing synchronize that already stored a result for
532532
// a newer commit does not match and is preserved. An in-progress apply-owned
533533
// row is never touched — the started apply's lifecycle stays authoritative.

pkg/storage/mysqlstore/check_refresh_requests.go renamed to pkg/storage/mysqlstore/merge_gate_requests.go

Lines changed: 106 additions & 100 deletions
Large diffs are not rendered by default.

pkg/storage/mysqlstore/check_refresh_requests_test.go renamed to pkg/storage/mysqlstore/merge_gate_requests_test.go

Lines changed: 89 additions & 87 deletions
Large diffs are not rendered by default.

pkg/storage/mysqlstore/storage.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ type Storage struct {
2424
checks *checkStore
2525
settings *settingsStore
2626
webhookEvents *webhookEventStore
27-
checkRefreshes *checkRefreshRequestStore
27+
mergeGatees *mergeGateRequestStore
2828
}
2929

3030
// New creates a new MySQL storage instance.
@@ -43,7 +43,7 @@ func New(db *sql.DB) *Storage {
4343
checks: &checkStore{db: db, dialect: MySQLDialect{}},
4444
settings: &settingsStore{db: db, dialect: MySQLDialect{}},
4545
webhookEvents: &webhookEventStore{db: db, dialect: MySQLDialect{}, identity: MySQLDialect{}},
46-
checkRefreshes: &checkRefreshRequestStore{db: db, dialect: MySQLDialect{}, identity: MySQLDialect{}},
46+
mergeGatees: &mergeGateRequestStore{db: db, dialect: MySQLDialect{}, identity: MySQLDialect{}},
4747
}
4848
}
4949

@@ -107,9 +107,9 @@ func (s *Storage) WebhookEvents() storage.WebhookEventStore {
107107
return s.webhookEvents
108108
}
109109

110-
// CheckRefreshRequests returns the durable check refresh request store.
111-
func (s *Storage) CheckRefreshRequests() storage.CheckRefreshRequestStore {
112-
return s.checkRefreshes
110+
// MergeGateRequests returns the durable merge gate request store.
111+
func (s *Storage) MergeGateRequests() storage.MergeGateRequestStore {
112+
return s.mergeGatees
113113
}
114114

115115
// Ping verifies the database connection is alive.

pkg/storage/mysqlstore/webhook_events.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ func (s *webhookEventStore) Create(ctx context.Context, event *storage.WebhookEv
3434
}
3535
provider := event.Provider
3636
if provider == "" {
37-
provider = storage.WebhookProviderGitHub
37+
provider = storage.ProviderGitHub
3838
}
3939
payload := nullJSON(event.Payload)
4040
// New deliveries are always pending. Accepting any other state here would
@@ -116,7 +116,7 @@ func (s *webhookEventStore) reopenTerminalWebhookEvent(ctx context.Context, prov
116116

117117
func (s *webhookEventStore) GetByDeliveryID(ctx context.Context, provider, deliveryID string) (*storage.WebhookEvent, error) {
118118
if provider == "" {
119-
provider = storage.WebhookProviderGitHub
119+
provider = storage.ProviderGitHub
120120
}
121121
row := s.db.QueryRowContext(ctx, `
122122
SELECT `+webhookEventColumns+`
@@ -153,7 +153,7 @@ func webhookClaimableArgs() []any {
153153

154154
func (s *webhookEventStore) HasEventForHead(ctx context.Context, provider, repository string, pullRequest int, headSHA string) (bool, error) {
155155
if provider == "" {
156-
provider = storage.WebhookProviderGitHub
156+
provider = storage.ProviderGitHub
157157
}
158158
if repository == "" || pullRequest == 0 || headSHA == "" {
159159
return false, fmt.Errorf("repository, pull request, and head SHA are required")

pkg/storage/mysqlstore/webhook_events_test.go

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,10 @@ func TestWebhookEventStore_CreateDeduplicatesDeliveryID(t *testing.T) {
4545
require.NoError(t, err)
4646
require.False(t, inserted)
4747

48-
got, err := store.WebhookEvents().GetByDeliveryID(ctx, storage.WebhookProviderGitHub, "delivery-1")
48+
got, err := store.WebhookEvents().GetByDeliveryID(ctx, storage.ProviderGitHub, "delivery-1")
4949
require.NoError(t, err)
5050
require.NotNil(t, got)
51-
assert.Equal(t, storage.WebhookProviderGitHub, got.Provider)
51+
assert.Equal(t, storage.ProviderGitHub, got.Provider)
5252
assert.Equal(t, storage.WebhookEventPending, got.State)
5353
assert.Equal(t, "block/example", got.Repository)
5454
assert.Equal(t, 123, got.PullRequest)
@@ -61,10 +61,10 @@ func TestWebhookEventStore_CreateDeduplicatesByProviderAndDeliveryID(t *testing.
6161
ctx := t.Context()
6262
store := New(testDB)
6363

64-
inserted, err := store.WebhookEvents().Create(ctx, &storage.WebhookEvent{Provider: storage.WebhookProviderGitHub, DeliveryID: "delivery-1", Event: "pull_request", Payload: []byte(`{}`)})
64+
inserted, err := store.WebhookEvents().Create(ctx, &storage.WebhookEvent{Provider: storage.ProviderGitHub, DeliveryID: "delivery-1", Event: "pull_request", Payload: []byte(`{}`)})
6565
require.NoError(t, err)
6666
require.True(t, inserted)
67-
inserted, err = store.WebhookEvents().Create(ctx, &storage.WebhookEvent{Provider: storage.WebhookProviderGitHub, DeliveryID: "delivery-1", Event: "pull_request", Payload: []byte(`{}`)})
67+
inserted, err = store.WebhookEvents().Create(ctx, &storage.WebhookEvent{Provider: storage.ProviderGitHub, DeliveryID: "delivery-1", Event: "pull_request", Payload: []byte(`{}`)})
6868
require.NoError(t, err)
6969
require.False(t, inserted)
7070
inserted, err = store.WebhookEvents().Create(ctx, &storage.WebhookEvent{Provider: "gitlab", DeliveryID: "delivery-1", Event: "merge_request", Payload: []byte(`{}`)})
@@ -88,7 +88,7 @@ func TestWebhookEventStore_HasEventForHead(t *testing.T) {
8888
})
8989
require.NoError(t, err)
9090

91-
found, err := store.WebhookEvents().HasEventForHead(ctx, storage.WebhookProviderGitHub, "block/example", 7, "head-sha-1")
91+
found, err := store.WebhookEvents().HasEventForHead(ctx, storage.ProviderGitHub, "block/example", 7, "head-sha-1")
9292
require.NoError(t, err)
9393
assert.True(t, found)
9494

@@ -107,12 +107,12 @@ func TestWebhookEventStore_HasEventForHead(t *testing.T) {
107107
{"different PR", "block/example", 8, "head-sha-1"},
108108
{"different repo", "block/other", 7, "head-sha-1"},
109109
} {
110-
found, err = store.WebhookEvents().HasEventForHead(ctx, storage.WebhookProviderGitHub, tc.repo, tc.pr, tc.headSHA)
110+
found, err = store.WebhookEvents().HasEventForHead(ctx, storage.ProviderGitHub, tc.repo, tc.pr, tc.headSHA)
111111
require.NoError(t, err, tc.name)
112112
assert.False(t, found, tc.name)
113113
}
114114

115-
_, err = store.WebhookEvents().HasEventForHead(ctx, storage.WebhookProviderGitHub, "", 7, "head-sha-1")
115+
_, err = store.WebhookEvents().HasEventForHead(ctx, storage.ProviderGitHub, "", 7, "head-sha-1")
116116
require.Error(t, err, "missing repository must be rejected")
117117
}
118118

@@ -231,7 +231,7 @@ func TestWebhookEventStore_MarkFailedRetryableAndCompleted(t *testing.T) {
231231
retryAfter := time.Now().Add(-time.Minute)
232232
require.NoError(t, store.WebhookEvents().MarkFailed(ctx, claimed.ID, claimed.LeaseToken, "temporary failure", &retryAfter))
233233

234-
retryable, err := store.WebhookEvents().GetByDeliveryID(ctx, storage.WebhookProviderGitHub, "delivery-1")
234+
retryable, err := store.WebhookEvents().GetByDeliveryID(ctx, storage.ProviderGitHub, "delivery-1")
235235
require.NoError(t, err)
236236
require.NotNil(t, retryable)
237237
assert.Equal(t, storage.WebhookEventFailedRetryable, retryable.State)
@@ -244,7 +244,7 @@ func TestWebhookEventStore_MarkFailedRetryableAndCompleted(t *testing.T) {
244244
require.NotNil(t, reclaimed)
245245
require.NoError(t, store.WebhookEvents().MarkCompleted(ctx, reclaimed.ID, reclaimed.LeaseToken))
246246

247-
completed, err := store.WebhookEvents().GetByDeliveryID(ctx, storage.WebhookProviderGitHub, "delivery-1")
247+
completed, err := store.WebhookEvents().GetByDeliveryID(ctx, storage.ProviderGitHub, "delivery-1")
248248
require.NoError(t, err)
249249
require.NotNil(t, completed)
250250
assert.Equal(t, storage.WebhookEventCompleted, completed.State)
@@ -293,7 +293,7 @@ func TestWebhookEventStore_CreateReopensTerminalDelivery(t *testing.T) {
293293
require.NoError(t, err)
294294
require.True(t, inserted)
295295

296-
reopened, err := store.WebhookEvents().GetByDeliveryID(ctx, storage.WebhookProviderGitHub, "delivery-1")
296+
reopened, err := store.WebhookEvents().GetByDeliveryID(ctx, storage.ProviderGitHub, "delivery-1")
297297
require.NoError(t, err)
298298
require.NotNil(t, reopened)
299299
assert.Equal(t, storage.WebhookEventPending, reopened.State)
@@ -317,7 +317,7 @@ func TestWebhookEventStore_CreateReopensTerminalDelivery(t *testing.T) {
317317
require.NoError(t, err)
318318
require.True(t, inserted)
319319

320-
reopenedAgain, err := store.WebhookEvents().GetByDeliveryID(ctx, storage.WebhookProviderGitHub, "delivery-1")
320+
reopenedAgain, err := store.WebhookEvents().GetByDeliveryID(ctx, storage.ProviderGitHub, "delivery-1")
321321
require.NoError(t, err)
322322
require.NotNil(t, reopenedAgain)
323323
assert.Equal(t, storage.WebhookEventPending, reopenedAgain.State)
@@ -356,7 +356,7 @@ func TestWebhookEventStore_CreateReopensStuckProcessingDelivery(t *testing.T) {
356356
require.NoError(t, err)
357357
require.True(t, inserted)
358358

359-
reopened, err := store.WebhookEvents().GetByDeliveryID(ctx, storage.WebhookProviderGitHub, "delivery-1")
359+
reopened, err := store.WebhookEvents().GetByDeliveryID(ctx, storage.ProviderGitHub, "delivery-1")
360360
require.NoError(t, err)
361361
require.NotNil(t, reopened)
362362
assert.Equal(t, storage.WebhookEventPending, reopened.State)
@@ -390,7 +390,7 @@ func TestWebhookEventStore_CreateDedupesProcessingWithLiveLease(t *testing.T) {
390390
require.NoError(t, err)
391391
require.False(t, inserted, "a processing row with a live lease must dedup, not reopen")
392392

393-
current, err := store.WebhookEvents().GetByDeliveryID(ctx, storage.WebhookProviderGitHub, "delivery-1")
393+
current, err := store.WebhookEvents().GetByDeliveryID(ctx, storage.ProviderGitHub, "delivery-1")
394394
require.NoError(t, err)
395395
require.NotNil(t, current)
396396
assert.Equal(t, storage.WebhookEventProcessing, current.State)
@@ -415,7 +415,7 @@ func TestWebhookEventStore_ReleaseRefundsAttemptAndRequeues(t *testing.T) {
415415
require.ErrorIs(t, store.WebhookEvents().Release(ctx, claimed.ID, "stale-token"), storage.ErrWebhookEventLeaseLost)
416416
require.NoError(t, store.WebhookEvents().Release(ctx, claimed.ID, claimed.LeaseToken))
417417

418-
released, err := store.WebhookEvents().GetByDeliveryID(ctx, storage.WebhookProviderGitHub, "delivery-1")
418+
released, err := store.WebhookEvents().GetByDeliveryID(ctx, storage.ProviderGitHub, "delivery-1")
419419
require.NoError(t, err)
420420
require.NotNil(t, released)
421421
assert.Equal(t, storage.WebhookEventPending, released.State)
@@ -457,7 +457,7 @@ func TestWebhookEventStore_ReleaseKeepsStartedAtAfterFirstAttempt(t *testing.T)
457457
require.Equal(t, 2, second.Attempts)
458458
require.NoError(t, store.WebhookEvents().Release(ctx, second.ID, second.LeaseToken))
459459

460-
released, err := store.WebhookEvents().GetByDeliveryID(ctx, storage.WebhookProviderGitHub, "delivery-1")
460+
released, err := store.WebhookEvents().GetByDeliveryID(ctx, storage.ProviderGitHub, "delivery-1")
461461
require.NoError(t, err)
462462
require.NotNil(t, released)
463463
assert.Equal(t, 1, released.Attempts, "release must refund only the second attempt")
@@ -507,7 +507,7 @@ func TestWebhookEventStore_CreateRejectsNonPendingState(t *testing.T) {
507507
require.False(t, inserted)
508508
}
509509

510-
stored, err := store.WebhookEvents().GetByDeliveryID(ctx, storage.WebhookProviderGitHub, "delivery-1")
510+
stored, err := store.WebhookEvents().GetByDeliveryID(ctx, storage.ProviderGitHub, "delivery-1")
511511
require.NoError(t, err)
512512
require.Nil(t, stored)
513513
}
@@ -664,7 +664,7 @@ func TestWebhookEventStore_InboxStatsBacklogMatchesClaimable(t *testing.T) {
664664
SET state = ?, attempts = ?, retry_after = NOW() - INTERVAL 1 HOUR,
665665
received_at = NOW(6) - INTERVAL 600 SECOND
666666
WHERE provider = ? AND delivery_id = ?
667-
`, storage.WebhookEventFailedRetryable, storage.MaxWebhookEventAttempts, storage.WebhookProviderGitHub, "cap-exhausted")
667+
`, storage.WebhookEventFailedRetryable, storage.MaxWebhookEventAttempts, storage.ProviderGitHub, "cap-exhausted")
668668
require.NoError(t, err)
669669

670670
onlyExhausted, err := store.WebhookEvents().InboxStats(ctx)
@@ -682,7 +682,7 @@ func TestWebhookEventStore_InboxStatsBacklogMatchesClaimable(t *testing.T) {
682682
lease_expires_at = NOW(6) - INTERVAL 1 SECOND,
683683
received_at = NOW(6) - INTERVAL 200 SECOND
684684
WHERE provider = ? AND delivery_id = ?
685-
`, storage.WebhookEventProcessing, storage.MaxWebhookEventAttempts-1, storage.WebhookProviderGitHub, "reclaimable")
685+
`, storage.WebhookEventProcessing, storage.MaxWebhookEventAttempts-1, storage.ProviderGitHub, "reclaimable")
686686
require.NoError(t, err)
687687

688688
stats, err := store.WebhookEvents().InboxStats(ctx)
@@ -722,7 +722,7 @@ func TestWebhookEventStore_InboxStats(t *testing.T) {
722722
require.NoError(t, err)
723723
require.True(t, inserted)
724724
_, err = testDB.ExecContext(ctx, `UPDATE webhook_events SET received_at = NOW(6) - INTERVAL ? SECOND WHERE provider = ? AND delivery_id = ?`,
725-
int(receivedAgo.Seconds()), storage.WebhookProviderGitHub, deliveryID)
725+
int(receivedAgo.Seconds()), storage.ProviderGitHub, deliveryID)
726726
require.NoError(t, err)
727727
}
728728
insertPending("pending-old", 120*time.Second)
@@ -734,7 +734,7 @@ func TestWebhookEventStore_InboxStats(t *testing.T) {
734734
require.NoError(t, err)
735735
require.True(t, completedDelivery)
736736
_, err = testDB.ExecContext(ctx, `UPDATE webhook_events SET state = ?, completed_at = NOW() WHERE provider = ? AND delivery_id = ?`,
737-
storage.WebhookEventCompleted, storage.WebhookProviderGitHub, "completed-1")
737+
storage.WebhookEventCompleted, storage.ProviderGitHub, "completed-1")
738738
require.NoError(t, err)
739739

740740
// A stuck processing row: at the attempt cap with an expired lease.
@@ -746,7 +746,7 @@ func TestWebhookEventStore_InboxStats(t *testing.T) {
746746
SET state = ?, attempts = ?, lease_owner = 'driver', lease_token = 'tok',
747747
lease_expires_at = NOW(6) - INTERVAL 1 SECOND
748748
WHERE provider = ? AND delivery_id = ?
749-
`, storage.WebhookEventProcessing, storage.MaxWebhookEventAttempts, storage.WebhookProviderGitHub, "stuck-1")
749+
`, storage.WebhookEventProcessing, storage.MaxWebhookEventAttempts, storage.ProviderGitHub, "stuck-1")
750750
require.NoError(t, err)
751751

752752
stats, err := store.WebhookEvents().InboxStats(ctx)
@@ -782,7 +782,7 @@ func TestWebhookEventStore_TerminateStuckProcessing(t *testing.T) {
782782
SET state = ?, attempts = ?, lease_owner = 'driver', lease_token = ?,
783783
lease_expires_at = `+leaseExpiresAt+`
784784
WHERE provider = ? AND delivery_id = ?
785-
`, storage.WebhookEventProcessing, attempts, deliveryID, storage.WebhookProviderGitHub, deliveryID)
785+
`, storage.WebhookEventProcessing, attempts, deliveryID, storage.ProviderGitHub, deliveryID)
786786
require.NoError(t, err)
787787
}
788788

@@ -797,7 +797,7 @@ func TestWebhookEventStore_TerminateStuckProcessing(t *testing.T) {
797797
require.NoError(t, err)
798798
assert.Equal(t, int64(1), terminated, "only the cap-exhausted expired-lease row should be terminated")
799799

800-
got, err := store.WebhookEvents().GetByDeliveryID(ctx, storage.WebhookProviderGitHub, "stuck")
800+
got, err := store.WebhookEvents().GetByDeliveryID(ctx, storage.ProviderGitHub, "stuck")
801801
require.NoError(t, err)
802802
require.NotNil(t, got)
803803
assert.Equal(t, storage.WebhookEventFailed, got.State)
@@ -806,12 +806,12 @@ func TestWebhookEventStore_TerminateStuckProcessing(t *testing.T) {
806806
assert.Nil(t, got.LeaseExpiresAt)
807807
assert.NotNil(t, got.CompletedAt)
808808

809-
belowGot, err := store.WebhookEvents().GetByDeliveryID(ctx, storage.WebhookProviderGitHub, "below-cap")
809+
belowGot, err := store.WebhookEvents().GetByDeliveryID(ctx, storage.ProviderGitHub, "below-cap")
810810
require.NoError(t, err)
811811
require.NotNil(t, belowGot)
812812
assert.Equal(t, storage.WebhookEventProcessing, belowGot.State)
813813

814-
freshGot, err := store.WebhookEvents().GetByDeliveryID(ctx, storage.WebhookProviderGitHub, "fresh")
814+
freshGot, err := store.WebhookEvents().GetByDeliveryID(ctx, storage.ProviderGitHub, "fresh")
815815
require.NoError(t, err)
816816
require.NotNil(t, freshGot)
817817
assert.Equal(t, storage.WebhookEventProcessing, freshGot.State)

0 commit comments

Comments
 (0)