Align DeliveryResult tags and make the index table test-local
check / check (push) Successful in 2m52s
check / check (push) Successful in 2m52s
Re-align the json tag column in DeliveryResult after the wider DeliveryID gorm tag, and move the test's index table out of package scope into the test function. Model: opus-5-5
This commit is contained in:
@@ -17,24 +17,24 @@ type indexedColumn struct {
|
|||||||
field string
|
field string
|
||||||
}
|
}
|
||||||
|
|
||||||
// eventTierIndexes are the columns the background work reads by: the
|
|
||||||
// recovery and sweep queries (status), the event log (event_id and
|
|
||||||
// delivery_id) and retention (created_at).
|
|
||||||
var eventTierIndexes = []indexedColumn{
|
|
||||||
{&database.Delivery{}, "Status"},
|
|
||||||
{&database.Delivery{}, "EventID"},
|
|
||||||
{&database.DeliveryResult{}, "DeliveryID"},
|
|
||||||
{&database.Event{}, "CreatedAt"},
|
|
||||||
}
|
|
||||||
|
|
||||||
// TestWebhookDBManager_OpenAddsEventTierIndexes verifies that opening a
|
// TestWebhookDBManager_OpenAddsEventTierIndexes verifies that opening a
|
||||||
// per-webhook database that predates these indexes creates them, so the
|
// per-webhook database that predates these indexes creates them, so the
|
||||||
// queries above stop scanning whole tables. It stands in for an older
|
// queries that read by those columns stop scanning whole tables. It
|
||||||
// database file by dropping the indexes AutoMigrate just created, then
|
// stands in for an older database file by dropping the indexes
|
||||||
// reopening the same file.
|
// AutoMigrate just created, then reopening the same file.
|
||||||
func TestWebhookDBManager_OpenAddsEventTierIndexes(t *testing.T) {
|
func TestWebhookDBManager_OpenAddsEventTierIndexes(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
|
// The columns the background work reads by: the recovery and sweep
|
||||||
|
// queries (status), the event log (event_id and delivery_id) and
|
||||||
|
// retention (created_at).
|
||||||
|
eventTierIndexes := []indexedColumn{
|
||||||
|
{&database.Delivery{}, "Status"},
|
||||||
|
{&database.Delivery{}, "EventID"},
|
||||||
|
{&database.DeliveryResult{}, "DeliveryID"},
|
||||||
|
{&database.Event{}, "CreatedAt"},
|
||||||
|
}
|
||||||
|
|
||||||
mgr, lc := setupTestWebhookDBManager(t)
|
mgr, lc := setupTestWebhookDBManager(t)
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
require.NoError(t, lc.Start(ctx))
|
require.NoError(t, lc.Start(ctx))
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ type DeliveryResult struct {
|
|||||||
BaseModel
|
BaseModel
|
||||||
|
|
||||||
DeliveryID string `gorm:"type:uuid;not null;index" json:"deliveryId"`
|
DeliveryID string `gorm:"type:uuid;not null;index" json:"deliveryId"`
|
||||||
AttemptNum int `gorm:"not null" json:"attemptNum"`
|
AttemptNum int `gorm:"not null" json:"attemptNum"`
|
||||||
Success bool `json:"success"`
|
Success bool `json:"success"`
|
||||||
StatusCode int `json:"statusCode,omitempty"`
|
StatusCode int `json:"statusCode,omitempty"`
|
||||||
ResponseBody string `gorm:"type:text" json:"responseBody,omitempty"`
|
ResponseBody string `gorm:"type:text" json:"responseBody,omitempty"`
|
||||||
Error string `json:"error,omitempty"`
|
Error string `json:"error,omitempty"`
|
||||||
Duration int64 `json:"durationMs"` // Duration in milliseconds
|
Duration int64 `json:"durationMs"` // Duration in milliseconds
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user