Alerting: Fix saving of screenshots uploaded with a signed url (#53933) (#54147)

The URL of screenshots uploaded to external image storages can be optionally signed, resulting in a long string (800+ chars).

Co-authored-by: Valério Valério <vdv100@gmail.com>
This commit is contained in:
George Robinson
2022-08-25 09:06:59 +01:00
committed by GitHub
co-authored by Valério Valério
parent 219f7e63cf
commit d941d0ba78
2 changed files with 17 additions and 2 deletions
+12 -2
View File
@@ -111,8 +111,18 @@ func TestIntegrationGetImages(t *testing.T) {
require.NoError(t, err)
assert.Equal(t, []models.Image{img1}, imgs)
// create another image bar.png
img2 := models.Image{Path: "bar.png"}
// create an image with a long URL (e.g signed URL)
img2 := models.Image{URL: "https://example.com/example.png?Signature=fPow8xzlrNpQqZp2K4KE9Xs7KfrUEzBmINHwICX9" +
"yXkTcVrIb3CmyfpdAl9glG6RHFnkg8Lkg7L88CwltPV3QhUTReLXKwWH364dwU0HgHmYtfZTVFJd33Y1r4a1SvuXWWyciGeI7YtQC8NYoNswZJ" +
"R7lpbdF968Y95BX99vqJLgjPV3zppuRKWEMObGd05GCEKN9wMr1y3wIpUMLkZxwCx0i59afBNnCewEEL1k6HywtvGukP0mI2XDQOdGTVpZYc8L" +
"j7JcLur5pwgF6XzmCWxDTUEnYI2TGFdSlhhXbMp7ZINs32QXqOMX0TzaNP7TpmTO09p6UBRntMIRacb6p6nZNbIe2L0uInOZFVTwdzMDsCExBw" +
"sPa6uIftFjJG6rU8YHpDYBAIkdn9RBBMpgxJ7PW5cm8zmAmWNhXILkJoudqLnL7pGVS6JwEnTRvCeoUEK9bBcvcUIyfj0wuHZphQz0bG01v9c6" +
"3RghISMfeJl8nulfvph9A4CqMRfqdTQkNBuyw6UXJlMWLONMmuIB8XPDRquABFSeRhRx8LGRzlmJfgGI80IIS9If7Kyb5VmINJvnnHqNd8GTyW" +
"910WMK4bUUMtyMQgdPHTsAt4BseQ6ShhfZt1fxQS88NgpJf4tNkyxOEqNoIme4KneIiue6T2g8GEYBOcsw9U9oc1h8Nv1mPshaQ0cx8acPX9Mt" +
"kcgyRF49HV92HBXYghZx0LudPSvVv73XgIBn6eZvP12BPS9Lgzz5gfGULWkPhlOuot1Lsnu1NzVsYY94EbgiPk6AEjpsl2OZmHHqnsVXamIXhX" +
"dvY8KxwYd5VDvw3q1mlUZfG4FipZU0NRRSVm9bLlyazabTnPBkCDUG6o4YZHqIuYCk0zsEWErEYvTf5DZmQCXC6Igu8lkKmWdW7ei70fUVYixA" +
"4js7S0DuECKE5tzAcPvgCKFBJ6imQjPnCaAv62SL8Qd9VHKohtcinRAn1uJ1AGhjjtwfTSTvwJxdeFlsUXl95sVivlLqZZAsN4Q12y8M2JTwDJ" +
"ztYxvr9m2FixQZ2IqhLmc8dVgtQedrIf0ZEHflMiWlPavvJsAf8OXXdspYj3Nrn"}
require.NoError(t, dbstore.SaveImage(ctx, &img2))
// GetImages should return both images
@@ -396,6 +396,11 @@ func AddAlertImageMigrations(mg *migrator.Migrator) {
{Cols: []string{"token"}, Type: migrator.UniqueIndex},
},
}
mg.AddMigration("create alert_image table", migrator.NewAddTableMigration(imageTable))
mg.AddMigration("add unique index on token to alert_image table", migrator.NewAddIndexMigration(imageTable, imageTable.Indices[0]))
mg.AddMigration("support longer URLs in alert_image table", migrator.NewRawSQLMigration("").
Postgres("ALTER TABLE alert_image ALTER COLUMN url TYPE VARCHAR(2048);").
Mysql("ALTER TABLE alert_image MODIFY url VARCHAR(2048) NOT NULL;"))
}