mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-08-03 00:45:22 +02:00
[v12.0/forgejo] chore: use eventually for mysql collation test (#8518)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8301 - Regression of removing `time.Sleep(5 * time.Second)` in forgejo/forgejo#7917. - Ref: https://codeberg.org/forgejo/forgejo/issues/8221#issuecomment-5532035 Co-authored-by: Gusted <postmaster@gusted.xyz> Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8518 Reviewed-by: Gusted <gusted@noreply.codeberg.org> Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org> Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
This commit is contained in:
parent
17f23d48d6
commit
3de8d7ec01
1 changed files with 22 additions and 7 deletions
|
@ -7,6 +7,7 @@ package integration
|
|||
import (
|
||||
"net/http"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"forgejo.org/models/db"
|
||||
"forgejo.org/modules/setting"
|
||||
|
@ -97,9 +98,13 @@ func TestDatabaseCollation(t *testing.T) {
|
|||
defer test.MockVariableValue(&setting.Database.CharsetCollation, "utf8mb4_bin")()
|
||||
require.NoError(t, db.ConvertDatabaseTable())
|
||||
|
||||
r, err := db.CheckCollations(x)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, "utf8mb4_bin", r.DatabaseCollation)
|
||||
var r *db.CheckCollationsResult
|
||||
assert.Eventually(t, func() bool {
|
||||
r, err = db.CheckCollations(x)
|
||||
require.NoError(t, err)
|
||||
|
||||
return r.DatabaseCollation == "utf8mb4_bin"
|
||||
}, time.Second*30, time.Second)
|
||||
assert.True(t, r.CollationEquals(r.ExpectedCollation, r.DatabaseCollation))
|
||||
assert.Empty(t, r.InconsistentCollationColumns)
|
||||
|
||||
|
@ -117,9 +122,13 @@ func TestDatabaseCollation(t *testing.T) {
|
|||
defer test.MockVariableValue(&setting.Database.CharsetCollation, "utf8mb4_general_ci")()
|
||||
require.NoError(t, db.ConvertDatabaseTable())
|
||||
|
||||
r, err := db.CheckCollations(x)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, "utf8mb4_general_ci", r.DatabaseCollation)
|
||||
var r *db.CheckCollationsResult
|
||||
assert.Eventually(t, func() bool {
|
||||
r, err = db.CheckCollations(x)
|
||||
require.NoError(t, err)
|
||||
|
||||
return r.DatabaseCollation == "utf8mb4_general_ci"
|
||||
}, time.Second*30, time.Second)
|
||||
assert.True(t, r.CollationEquals(r.ExpectedCollation, r.DatabaseCollation))
|
||||
assert.Empty(t, r.InconsistentCollationColumns)
|
||||
|
||||
|
@ -137,9 +146,15 @@ func TestDatabaseCollation(t *testing.T) {
|
|||
defer test.MockVariableValue(&setting.Database.CharsetCollation, "")()
|
||||
require.NoError(t, db.ConvertDatabaseTable())
|
||||
|
||||
var r *db.CheckCollationsResult
|
||||
r, err := db.CheckCollations(x)
|
||||
require.NoError(t, err)
|
||||
assert.True(t, r.IsCollationCaseSensitive(r.DatabaseCollation))
|
||||
assert.Eventually(t, func() bool {
|
||||
r, err = db.CheckCollations(x)
|
||||
require.NoError(t, err)
|
||||
|
||||
return r.IsCollationCaseSensitive(r.DatabaseCollation)
|
||||
}, time.Second*30, time.Second)
|
||||
assert.True(t, r.CollationEquals(r.ExpectedCollation, r.DatabaseCollation))
|
||||
assert.Empty(t, r.InconsistentCollationColumns)
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue