diff options
Diffstat (limited to 'internal/db/migrations/v21_test.go')
-rw-r--r-- | internal/db/migrations/v21_test.go | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/internal/db/migrations/v21_test.go b/internal/db/migrations/v21_test.go new file mode 100644 index 00000000..d11c47c5 --- /dev/null +++ b/internal/db/migrations/v21_test.go @@ -0,0 +1,82 @@ +// Copyright 2022 The Gogs Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package migrations + +import ( + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "gogs.io/gogs/internal/dbtest" +) + +type actionPreV21 struct { + ID int64 `gorm:"primaryKey"` + UserID int64 + OpType int + ActUserID int64 + ActUserName string + RepoID int64 `gorm:"index"` + RepoUserName string + RepoName string + RefName string + IsPrivate bool `gorm:"not null;default:FALSE"` + Content string + CreatedUnix int64 +} + +func (*actionPreV21) TableName() string { + return "action" +} + +type actionV21 struct { + ID int64 `gorm:"primaryKey"` + UserID int64 `gorm:"index"` + OpType int + ActUserID int64 + ActUserName string + RepoID int64 `gorm:"index"` + RepoUserName string + RepoName string + RefName string + IsPrivate bool `gorm:"not null;default:FALSE"` + Content string + CreatedUnix int64 +} + +func (*actionV21) TableName() string { + return "action" +} + +func TestAddIndexToActionUserID(t *testing.T) { + if testing.Short() { + t.Skip() + } + t.Parallel() + + db := dbtest.NewDB(t, "addIndexToActionUserID", new(actionPreV21)) + err := db.Create( + &actionPreV21{ + ID: 1, + UserID: 1, + OpType: 1, + ActUserID: 1, + ActUserName: "alice", + RepoID: 1, + RepoUserName: "alice", + RepoName: "example", + RefName: "main", + IsPrivate: false, + CreatedUnix: db.NowFunc().Unix(), + }, + ).Error + require.NoError(t, err) + assert.False(t, db.Migrator().HasIndex(&actionV21{}, "UserID")) + + err = addIndexToActionUserID(db) + require.NoError(t, err) + assert.True(t, db.Migrator().HasIndex(&actionV21{}, "UserID")) +} |