mirror of https://github.com/gogs/gogs.git
database: use all tables to setup test suite (#7667)
parent
3616bc03c9
commit
dfe27ad556
|
@ -13,7 +13,6 @@ import (
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
|
|
||||||
"gogs.io/gogs/internal/dbtest"
|
|
||||||
"gogs.io/gogs/internal/errutil"
|
"gogs.io/gogs/internal/errutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -99,9 +98,8 @@ func TestAccessTokens(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
tables := []any{new(AccessToken)}
|
|
||||||
db := &accessTokens{
|
db := &accessTokens{
|
||||||
DB: dbtest.NewDB(t, "accessTokens", tables...),
|
DB: newTestDB(t, "accessTokens"),
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tc := range []struct {
|
for _, tc := range []struct {
|
||||||
|
@ -116,7 +114,7 @@ func TestAccessTokens(t *testing.T) {
|
||||||
} {
|
} {
|
||||||
t.Run(tc.name, func(t *testing.T) {
|
t.Run(tc.name, func(t *testing.T) {
|
||||||
t.Cleanup(func() {
|
t.Cleanup(func() {
|
||||||
err := clearTables(t, db.DB, tables...)
|
err := clearTables(t, db.DB)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
})
|
})
|
||||||
tc.test(t, ctx, db)
|
tc.test(t, ctx, db)
|
||||||
|
|
|
@ -16,7 +16,6 @@ import (
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
|
|
||||||
"gogs.io/gogs/internal/conf"
|
"gogs.io/gogs/internal/conf"
|
||||||
"gogs.io/gogs/internal/dbtest"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestIssueReferencePattern(t *testing.T) {
|
func TestIssueReferencePattern(t *testing.T) {
|
||||||
|
@ -100,9 +99,8 @@ func TestActions(t *testing.T) {
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
tables := []any{new(Action), new(User), new(Repository), new(EmailAddress), new(Watch)}
|
|
||||||
db := &actions{
|
db := &actions{
|
||||||
DB: dbtest.NewDB(t, "actions", tables...),
|
DB: newTestDB(t, "actions"),
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tc := range []struct {
|
for _, tc := range []struct {
|
||||||
|
@ -123,7 +121,7 @@ func TestActions(t *testing.T) {
|
||||||
} {
|
} {
|
||||||
t.Run(tc.name, func(t *testing.T) {
|
t.Run(tc.name, func(t *testing.T) {
|
||||||
t.Cleanup(func() {
|
t.Cleanup(func() {
|
||||||
err := clearTables(t, db.DB, tables...)
|
err := clearTables(t, db.DB)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
})
|
})
|
||||||
tc.test(t, ctx, db)
|
tc.test(t, ctx, db)
|
||||||
|
|
|
@ -28,7 +28,7 @@ type Attachment struct {
|
||||||
ReleaseID int64 `xorm:"INDEX"`
|
ReleaseID int64 `xorm:"INDEX"`
|
||||||
Name string
|
Name string
|
||||||
|
|
||||||
Created time.Time `xorm:"-" json:"-"`
|
Created time.Time `xorm:"-" json:"-" gorm:"-"`
|
||||||
CreatedUnix int64
|
CreatedUnix int64
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -53,26 +53,26 @@ type Comment struct {
|
||||||
ID int64
|
ID int64
|
||||||
Type CommentType
|
Type CommentType
|
||||||
PosterID int64
|
PosterID int64
|
||||||
Poster *User `xorm:"-" json:"-"`
|
Poster *User `xorm:"-" json:"-" gorm:"-"`
|
||||||
IssueID int64 `xorm:"INDEX"`
|
IssueID int64 `xorm:"INDEX"`
|
||||||
Issue *Issue `xorm:"-" json:"-"`
|
Issue *Issue `xorm:"-" json:"-" gorm:"-"`
|
||||||
CommitID int64
|
CommitID int64
|
||||||
Line int64
|
Line int64
|
||||||
Content string `xorm:"TEXT"`
|
Content string `xorm:"TEXT"`
|
||||||
RenderedContent string `xorm:"-" json:"-"`
|
RenderedContent string `xorm:"-" json:"-" gorm:"-"`
|
||||||
|
|
||||||
Created time.Time `xorm:"-" json:"-"`
|
Created time.Time `xorm:"-" json:"-" gorm:"-"`
|
||||||
CreatedUnix int64
|
CreatedUnix int64
|
||||||
Updated time.Time `xorm:"-" json:"-"`
|
Updated time.Time `xorm:"-" json:"-" gorm:"-"`
|
||||||
UpdatedUnix int64
|
UpdatedUnix int64
|
||||||
|
|
||||||
// Reference issue in commit message
|
// Reference issue in commit message
|
||||||
CommitSHA string `xorm:"VARCHAR(40)"`
|
CommitSHA string `xorm:"VARCHAR(40)"`
|
||||||
|
|
||||||
Attachments []*Attachment `xorm:"-" json:"-"`
|
Attachments []*Attachment `xorm:"-" json:"-" gorm:"-"`
|
||||||
|
|
||||||
// For view issue page.
|
// For view issue page.
|
||||||
ShowTag CommentTag `xorm:"-" json:"-"`
|
ShowTag CommentTag `xorm:"-" json:"-" gorm:"-"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Comment) BeforeInsert() {
|
func (c *Comment) BeforeInsert() {
|
||||||
|
|
|
@ -40,6 +40,8 @@ func newLogWriter() (logger.Writer, error) {
|
||||||
// Tables is the list of struct-to-table mappings.
|
// Tables is the list of struct-to-table mappings.
|
||||||
//
|
//
|
||||||
// NOTE: Lines are sorted in alphabetical order, each letter in its own line.
|
// NOTE: Lines are sorted in alphabetical order, each letter in its own line.
|
||||||
|
//
|
||||||
|
// ⚠️ WARNING: This list is meant to be read-only.
|
||||||
var Tables = []any{
|
var Tables = []any{
|
||||||
new(Access), new(AccessToken), new(Action),
|
new(Access), new(AccessToken), new(Action),
|
||||||
new(EmailAddress),
|
new(EmailAddress),
|
||||||
|
|
|
@ -61,8 +61,8 @@ type Label struct {
|
||||||
Color string `xorm:"VARCHAR(7)"`
|
Color string `xorm:"VARCHAR(7)"`
|
||||||
NumIssues int
|
NumIssues int
|
||||||
NumClosedIssues int
|
NumClosedIssues int
|
||||||
NumOpenIssues int `xorm:"-" json:"-"`
|
NumOpenIssues int `xorm:"-" json:"-" gorm:"-"`
|
||||||
IsChecked bool `xorm:"-" json:"-"`
|
IsChecked bool `xorm:"-" json:"-" gorm:"-"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (label *Label) APIFormat() *api.Label {
|
func (label *Label) APIFormat() *api.Label {
|
||||||
|
|
|
@ -12,7 +12,6 @@ import (
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
|
|
||||||
"gogs.io/gogs/internal/dbtest"
|
|
||||||
"gogs.io/gogs/internal/errutil"
|
"gogs.io/gogs/internal/errutil"
|
||||||
"gogs.io/gogs/internal/lfsutil"
|
"gogs.io/gogs/internal/lfsutil"
|
||||||
)
|
)
|
||||||
|
@ -24,9 +23,8 @@ func TestLFS(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
tables := []any{new(LFSObject)}
|
|
||||||
db := &lfs{
|
db := &lfs{
|
||||||
DB: dbtest.NewDB(t, "lfs", tables...),
|
DB: newTestDB(t, "lfs"),
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tc := range []struct {
|
for _, tc := range []struct {
|
||||||
|
@ -39,7 +37,7 @@ func TestLFS(t *testing.T) {
|
||||||
} {
|
} {
|
||||||
t.Run(tc.name, func(t *testing.T) {
|
t.Run(tc.name, func(t *testing.T) {
|
||||||
t.Cleanup(func() {
|
t.Cleanup(func() {
|
||||||
err := clearTables(t, db.DB, tables...)
|
err := clearTables(t, db.DB)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
})
|
})
|
||||||
tc.test(t, ctx, db)
|
tc.test(t, ctx, db)
|
||||||
|
|
|
@ -19,7 +19,6 @@ import (
|
||||||
"gogs.io/gogs/internal/auth/ldap"
|
"gogs.io/gogs/internal/auth/ldap"
|
||||||
"gogs.io/gogs/internal/auth/pam"
|
"gogs.io/gogs/internal/auth/pam"
|
||||||
"gogs.io/gogs/internal/auth/smtp"
|
"gogs.io/gogs/internal/auth/smtp"
|
||||||
"gogs.io/gogs/internal/dbtest"
|
|
||||||
"gogs.io/gogs/internal/errutil"
|
"gogs.io/gogs/internal/errutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -164,9 +163,8 @@ func TestLoginSources(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
tables := []any{new(LoginSource), new(User)}
|
|
||||||
db := &loginSources{
|
db := &loginSources{
|
||||||
DB: dbtest.NewDB(t, "loginSources", tables...),
|
DB: newTestDB(t, "loginSources"),
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tc := range []struct {
|
for _, tc := range []struct {
|
||||||
|
@ -183,7 +181,7 @@ func TestLoginSources(t *testing.T) {
|
||||||
} {
|
} {
|
||||||
t.Run(tc.name, func(t *testing.T) {
|
t.Run(tc.name, func(t *testing.T) {
|
||||||
t.Cleanup(func() {
|
t.Cleanup(func() {
|
||||||
err := clearTables(t, db.DB, tables...)
|
err := clearTables(t, db.DB)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
})
|
})
|
||||||
tc.test(t, ctx, db)
|
tc.test(t, ctx, db)
|
||||||
|
|
|
@ -16,6 +16,7 @@ import (
|
||||||
log "unknwon.dev/clog/v2"
|
log "unknwon.dev/clog/v2"
|
||||||
|
|
||||||
"gogs.io/gogs/internal/conf"
|
"gogs.io/gogs/internal/conf"
|
||||||
|
"gogs.io/gogs/internal/dbtest"
|
||||||
"gogs.io/gogs/internal/testutil"
|
"gogs.io/gogs/internal/testutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -50,13 +51,16 @@ func TestMain(m *testing.M) {
|
||||||
os.Exit(m.Run())
|
os.Exit(m.Run())
|
||||||
}
|
}
|
||||||
|
|
||||||
// clearTables removes all rows from given tables.
|
func newTestDB(t *testing.T, suite string) *gorm.DB {
|
||||||
func clearTables(t *testing.T, db *gorm.DB, tables ...any) error {
|
return dbtest.NewDB(t, suite, append(Tables, legacyTables...)...)
|
||||||
|
}
|
||||||
|
|
||||||
|
func clearTables(t *testing.T, db *gorm.DB) error {
|
||||||
if t.Failed() {
|
if t.Failed() {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, t := range tables {
|
for _, t := range append(Tables, legacyTables...) {
|
||||||
err := db.Where("TRUE").Delete(t).Error
|
err := db.Where("TRUE").Delete(t).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|
|
@ -23,18 +23,18 @@ type Milestone struct {
|
||||||
RepoID int64 `xorm:"INDEX"`
|
RepoID int64 `xorm:"INDEX"`
|
||||||
Name string
|
Name string
|
||||||
Content string `xorm:"TEXT"`
|
Content string `xorm:"TEXT"`
|
||||||
RenderedContent string `xorm:"-" json:"-"`
|
RenderedContent string `xorm:"-" json:"-" gorm:"-"`
|
||||||
IsClosed bool
|
IsClosed bool
|
||||||
NumIssues int
|
NumIssues int
|
||||||
NumClosedIssues int
|
NumClosedIssues int
|
||||||
NumOpenIssues int `xorm:"-" json:"-"`
|
NumOpenIssues int `xorm:"-" json:"-" gorm:"-"`
|
||||||
Completeness int // Percentage(1-100).
|
Completeness int // Percentage(1-100).
|
||||||
IsOverDue bool `xorm:"-" json:"-"`
|
IsOverDue bool `xorm:"-" json:"-" gorm:"-"`
|
||||||
|
|
||||||
DeadlineString string `xorm:"-" json:"-"`
|
DeadlineString string `xorm:"-" json:"-" gorm:"-"`
|
||||||
Deadline time.Time `xorm:"-" json:"-"`
|
Deadline time.Time `xorm:"-" json:"-" gorm:"-"`
|
||||||
DeadlineUnix int64
|
DeadlineUnix int64
|
||||||
ClosedDate time.Time `xorm:"-" json:"-"`
|
ClosedDate time.Time `xorm:"-" json:"-" gorm:"-"`
|
||||||
ClosedDateUnix int64
|
ClosedDateUnix int64
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -30,14 +30,14 @@ var MirrorQueue = sync.NewUniqueQueue(1000)
|
||||||
type Mirror struct {
|
type Mirror struct {
|
||||||
ID int64
|
ID int64
|
||||||
RepoID int64
|
RepoID int64
|
||||||
Repo *Repository `xorm:"-" json:"-"`
|
Repo *Repository `xorm:"-" json:"-" gorm:"-"`
|
||||||
Interval int // Hour.
|
Interval int // Hour.
|
||||||
EnablePrune bool `xorm:"NOT NULL DEFAULT true"`
|
EnablePrune bool `xorm:"NOT NULL DEFAULT true"`
|
||||||
|
|
||||||
// Last and next sync time of Git data from upstream
|
// Last and next sync time of Git data from upstream
|
||||||
LastSync time.Time `xorm:"-" json:"-"`
|
LastSync time.Time `xorm:"-" json:"-" gorm:"-"`
|
||||||
LastSyncUnix int64 `xorm:"updated_unix"`
|
LastSyncUnix int64 `xorm:"updated_unix"`
|
||||||
NextSync time.Time `xorm:"-" json:"-"`
|
NextSync time.Time `xorm:"-" json:"-" gorm:"-"`
|
||||||
NextSyncUnix int64 `xorm:"next_update_unix"`
|
NextSyncUnix int64 `xorm:"next_update_unix"`
|
||||||
|
|
||||||
address string `xorm:"-"`
|
address string `xorm:"-"`
|
||||||
|
|
|
@ -12,8 +12,6 @@ import (
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
|
|
||||||
"gogs.io/gogs/internal/dbtest"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestNotice_BeforeCreate(t *testing.T) {
|
func TestNotice_BeforeCreate(t *testing.T) {
|
||||||
|
@ -67,9 +65,8 @@ func TestNotices(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
tables := []any{new(Notice)}
|
|
||||||
db := ¬ices{
|
db := ¬ices{
|
||||||
DB: dbtest.NewDB(t, "notices", tables...),
|
DB: newTestDB(t, "notices"),
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tc := range []struct {
|
for _, tc := range []struct {
|
||||||
|
@ -84,7 +81,7 @@ func TestNotices(t *testing.T) {
|
||||||
} {
|
} {
|
||||||
t.Run(tc.name, func(t *testing.T) {
|
t.Run(tc.name, func(t *testing.T) {
|
||||||
t.Cleanup(func() {
|
t.Cleanup(func() {
|
||||||
err := clearTables(t, db.DB, tables...)
|
err := clearTables(t, db.DB)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
})
|
})
|
||||||
tc.test(t, ctx, db)
|
tc.test(t, ctx, db)
|
||||||
|
|
|
@ -25,8 +25,8 @@ type Team struct {
|
||||||
Name string
|
Name string
|
||||||
Description string
|
Description string
|
||||||
Authorize AccessMode
|
Authorize AccessMode
|
||||||
Repos []*Repository `xorm:"-" json:"-"`
|
Repos []*Repository `xorm:"-" json:"-" gorm:"-"`
|
||||||
Members []*User `xorm:"-" json:"-"`
|
Members []*User `xorm:"-" json:"-" gorm:"-"`
|
||||||
NumRepos int
|
NumRepos int
|
||||||
NumMembers int
|
NumMembers int
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,6 @@ import (
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
|
|
||||||
"gogs.io/gogs/internal/dbtest"
|
|
||||||
"gogs.io/gogs/internal/dbutil"
|
"gogs.io/gogs/internal/dbutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -22,9 +21,8 @@ func TestOrgs(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
tables := []any{new(User), new(EmailAddress), new(OrgUser)}
|
|
||||||
db := &orgs{
|
db := &orgs{
|
||||||
DB: dbtest.NewDB(t, "orgs", tables...),
|
DB: newTestDB(t, "orgs"),
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tc := range []struct {
|
for _, tc := range []struct {
|
||||||
|
@ -37,7 +35,7 @@ func TestOrgs(t *testing.T) {
|
||||||
} {
|
} {
|
||||||
t.Run(tc.name, func(t *testing.T) {
|
t.Run(tc.name, func(t *testing.T) {
|
||||||
t.Cleanup(func() {
|
t.Cleanup(func() {
|
||||||
err := clearTables(t, db.DB, tables...)
|
err := clearTables(t, db.DB)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
})
|
})
|
||||||
tc.test(t, ctx, db)
|
tc.test(t, ctx, db)
|
||||||
|
|
|
@ -10,8 +10,6 @@ import (
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
|
|
||||||
"gogs.io/gogs/internal/dbtest"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestPerms(t *testing.T) {
|
func TestPerms(t *testing.T) {
|
||||||
|
@ -21,9 +19,8 @@ func TestPerms(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
tables := []any{new(Access)}
|
|
||||||
db := &perms{
|
db := &perms{
|
||||||
DB: dbtest.NewDB(t, "perms", tables...),
|
DB: newTestDB(t, "perms"),
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tc := range []struct {
|
for _, tc := range []struct {
|
||||||
|
@ -36,7 +33,7 @@ func TestPerms(t *testing.T) {
|
||||||
} {
|
} {
|
||||||
t.Run(tc.name, func(t *testing.T) {
|
t.Run(tc.name, func(t *testing.T) {
|
||||||
t.Cleanup(func() {
|
t.Cleanup(func() {
|
||||||
err := clearTables(t, db.DB, tables...)
|
err := clearTables(t, db.DB)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
})
|
})
|
||||||
tc.test(t, ctx, db)
|
tc.test(t, ctx, db)
|
||||||
|
|
|
@ -15,7 +15,6 @@ import (
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
|
|
||||||
"gogs.io/gogs/internal/conf"
|
"gogs.io/gogs/internal/conf"
|
||||||
"gogs.io/gogs/internal/dbtest"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestPublicKeys(t *testing.T) {
|
func TestPublicKeys(t *testing.T) {
|
||||||
|
@ -25,9 +24,8 @@ func TestPublicKeys(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
tables := []any{new(PublicKey)}
|
|
||||||
db := &publicKeys{
|
db := &publicKeys{
|
||||||
DB: dbtest.NewDB(t, "publicKeys", tables...),
|
DB: newTestDB(t, "publicKeys"),
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tc := range []struct {
|
for _, tc := range []struct {
|
||||||
|
@ -38,7 +36,7 @@ func TestPublicKeys(t *testing.T) {
|
||||||
} {
|
} {
|
||||||
t.Run(tc.name, func(t *testing.T) {
|
t.Run(tc.name, func(t *testing.T) {
|
||||||
t.Cleanup(func() {
|
t.Cleanup(func() {
|
||||||
err := clearTables(t, db.DB, tables...)
|
err := clearTables(t, db.DB)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
})
|
})
|
||||||
tc.test(t, ctx, db)
|
tc.test(t, ctx, db)
|
||||||
|
|
|
@ -24,24 +24,24 @@ import (
|
||||||
type Release struct {
|
type Release struct {
|
||||||
ID int64
|
ID int64
|
||||||
RepoID int64
|
RepoID int64
|
||||||
Repo *Repository `xorm:"-" json:"-"`
|
Repo *Repository `xorm:"-" json:"-" gorm:"-"`
|
||||||
PublisherID int64
|
PublisherID int64
|
||||||
Publisher *User `xorm:"-" json:"-"`
|
Publisher *User `xorm:"-" json:"-" gorm:"-"`
|
||||||
TagName string
|
TagName string
|
||||||
LowerTagName string
|
LowerTagName string
|
||||||
Target string
|
Target string
|
||||||
Title string
|
Title string
|
||||||
Sha1 string `xorm:"VARCHAR(40)"`
|
Sha1 string `xorm:"VARCHAR(40)"`
|
||||||
NumCommits int64
|
NumCommits int64
|
||||||
NumCommitsBehind int64 `xorm:"-" json:"-"`
|
NumCommitsBehind int64 `xorm:"-" json:"-" gorm:"-"`
|
||||||
Note string `xorm:"TEXT"`
|
Note string `xorm:"TEXT"`
|
||||||
IsDraft bool `xorm:"NOT NULL DEFAULT false"`
|
IsDraft bool `xorm:"NOT NULL DEFAULT false"`
|
||||||
IsPrerelease bool
|
IsPrerelease bool
|
||||||
|
|
||||||
Created time.Time `xorm:"-" json:"-"`
|
Created time.Time `xorm:"-" json:"-" gorm:"-"`
|
||||||
CreatedUnix int64
|
CreatedUnix int64
|
||||||
|
|
||||||
Attachments []*Attachment `xorm:"-" json:"-"`
|
Attachments []*Attachment `xorm:"-" json:"-" gorm:"-"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *Release) BeforeInsert() {
|
func (r *Release) BeforeInsert() {
|
||||||
|
|
|
@ -13,7 +13,6 @@ import (
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
|
|
||||||
"gogs.io/gogs/internal/dbtest"
|
|
||||||
"gogs.io/gogs/internal/errutil"
|
"gogs.io/gogs/internal/errutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -86,9 +85,8 @@ func TestRepos(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
tables := []any{new(Repository), new(Access), new(Watch), new(User), new(EmailAddress), new(Star)}
|
|
||||||
db := &repos{
|
db := &repos{
|
||||||
DB: dbtest.NewDB(t, "repos", tables...),
|
DB: newTestDB(t, "repos"),
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tc := range []struct {
|
for _, tc := range []struct {
|
||||||
|
@ -108,7 +106,7 @@ func TestRepos(t *testing.T) {
|
||||||
} {
|
} {
|
||||||
t.Run(tc.name, func(t *testing.T) {
|
t.Run(tc.name, func(t *testing.T) {
|
||||||
t.Cleanup(func() {
|
t.Cleanup(func() {
|
||||||
err := clearTables(t, db.DB, tables...)
|
err := clearTables(t, db.DB)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
})
|
})
|
||||||
tc.test(t, ctx, db)
|
tc.test(t, ctx, db)
|
||||||
|
|
|
@ -569,14 +569,14 @@ type DeployKey struct {
|
||||||
RepoID int64 `xorm:"UNIQUE(s) INDEX"`
|
RepoID int64 `xorm:"UNIQUE(s) INDEX"`
|
||||||
Name string
|
Name string
|
||||||
Fingerprint string
|
Fingerprint string
|
||||||
Content string `xorm:"-" json:"-"`
|
Content string `xorm:"-" json:"-" gorm:"-"`
|
||||||
|
|
||||||
Created time.Time `xorm:"-" json:"-"`
|
Created time.Time `xorm:"-" json:"-" gorm:"-"`
|
||||||
CreatedUnix int64
|
CreatedUnix int64
|
||||||
Updated time.Time `xorm:"-" json:"-"` // Note: Updated must below Created for AfterSet.
|
Updated time.Time `xorm:"-" json:"-" gorm:"-"` // Note: Updated must below Created for AfterSet.
|
||||||
UpdatedUnix int64
|
UpdatedUnix int64
|
||||||
HasRecentActivity bool `xorm:"-" json:"-"`
|
HasRecentActivity bool `xorm:"-" json:"-" gorm:"-"`
|
||||||
HasUsed bool `xorm:"-" json:"-"`
|
HasUsed bool `xorm:"-" json:"-" gorm:"-"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (k *DeployKey) BeforeInsert() {
|
func (k *DeployKey) BeforeInsert() {
|
||||||
|
|
|
@ -13,7 +13,6 @@ import (
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
|
|
||||||
"gogs.io/gogs/internal/dbtest"
|
|
||||||
"gogs.io/gogs/internal/errutil"
|
"gogs.io/gogs/internal/errutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -68,9 +67,8 @@ func TestTwoFactors(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
tables := []any{new(TwoFactor), new(TwoFactorRecoveryCode)}
|
|
||||||
db := &twoFactors{
|
db := &twoFactors{
|
||||||
DB: dbtest.NewDB(t, "twoFactors", tables...),
|
DB: newTestDB(t, "twoFactors"),
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tc := range []struct {
|
for _, tc := range []struct {
|
||||||
|
@ -83,7 +81,7 @@ func TestTwoFactors(t *testing.T) {
|
||||||
} {
|
} {
|
||||||
t.Run(tc.name, func(t *testing.T) {
|
t.Run(tc.name, func(t *testing.T) {
|
||||||
t.Cleanup(func() {
|
t.Cleanup(func() {
|
||||||
err := clearTables(t, db.DB, tables...)
|
err := clearTables(t, db.DB)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
})
|
})
|
||||||
tc.test(t, ctx, db)
|
tc.test(t, ctx, db)
|
||||||
|
|
|
@ -19,7 +19,6 @@ import (
|
||||||
|
|
||||||
"gogs.io/gogs/internal/auth"
|
"gogs.io/gogs/internal/auth"
|
||||||
"gogs.io/gogs/internal/conf"
|
"gogs.io/gogs/internal/conf"
|
||||||
"gogs.io/gogs/internal/dbtest"
|
|
||||||
"gogs.io/gogs/internal/dbutil"
|
"gogs.io/gogs/internal/dbutil"
|
||||||
"gogs.io/gogs/internal/errutil"
|
"gogs.io/gogs/internal/errutil"
|
||||||
"gogs.io/gogs/internal/osutil"
|
"gogs.io/gogs/internal/osutil"
|
||||||
|
@ -85,13 +84,8 @@ func TestUsers(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
tables := []any{
|
|
||||||
new(User), new(EmailAddress), new(Repository), new(Follow), new(PullRequest), new(PublicKey), new(OrgUser),
|
|
||||||
new(Watch), new(Star), new(Issue), new(AccessToken), new(Collaboration), new(Action), new(IssueUser),
|
|
||||||
new(Access),
|
|
||||||
}
|
|
||||||
db := &users{
|
db := &users{
|
||||||
DB: dbtest.NewDB(t, "users", tables...),
|
DB: newTestDB(t, "users"),
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tc := range []struct {
|
for _, tc := range []struct {
|
||||||
|
@ -129,7 +123,7 @@ func TestUsers(t *testing.T) {
|
||||||
} {
|
} {
|
||||||
t.Run(tc.name, func(t *testing.T) {
|
t.Run(tc.name, func(t *testing.T) {
|
||||||
t.Cleanup(func() {
|
t.Cleanup(func() {
|
||||||
err := clearTables(t, db.DB, tables...)
|
err := clearTables(t, db.DB)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
})
|
})
|
||||||
tc.test(t, ctx, db)
|
tc.test(t, ctx, db)
|
||||||
|
|
|
@ -109,9 +109,9 @@ type Webhook struct {
|
||||||
Meta string `xorm:"TEXT"` // store hook-specific attributes
|
Meta string `xorm:"TEXT"` // store hook-specific attributes
|
||||||
LastStatus HookStatus // Last delivery status
|
LastStatus HookStatus // Last delivery status
|
||||||
|
|
||||||
Created time.Time `xorm:"-" json:"-"`
|
Created time.Time `xorm:"-" json:"-" gorm:"-"`
|
||||||
CreatedUnix int64
|
CreatedUnix int64
|
||||||
Updated time.Time `xorm:"-" json:"-"`
|
Updated time.Time `xorm:"-" json:"-" gorm:"-"`
|
||||||
UpdatedUnix int64
|
UpdatedUnix int64
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -440,21 +440,21 @@ type HookTask struct {
|
||||||
Type HookTaskType
|
Type HookTaskType
|
||||||
URL string `xorm:"TEXT"`
|
URL string `xorm:"TEXT"`
|
||||||
Signature string `xorm:"TEXT"`
|
Signature string `xorm:"TEXT"`
|
||||||
api.Payloader `xorm:"-" json:"-"`
|
api.Payloader `xorm:"-" json:"-" gorm:"-"`
|
||||||
PayloadContent string `xorm:"TEXT"`
|
PayloadContent string `xorm:"TEXT"`
|
||||||
ContentType HookContentType
|
ContentType HookContentType
|
||||||
EventType HookEventType
|
EventType HookEventType
|
||||||
IsSSL bool
|
IsSSL bool
|
||||||
IsDelivered bool
|
IsDelivered bool
|
||||||
Delivered int64
|
Delivered int64
|
||||||
DeliveredString string `xorm:"-" json:"-"`
|
DeliveredString string `xorm:"-" json:"-" gorm:"-"`
|
||||||
|
|
||||||
// History info.
|
// History info.
|
||||||
IsSucceed bool
|
IsSucceed bool
|
||||||
RequestContent string `xorm:"TEXT"`
|
RequestContent string `xorm:"TEXT"`
|
||||||
RequestInfo *HookRequest `xorm:"-" json:"-"`
|
RequestInfo *HookRequest `xorm:"-" json:"-" gorm:"-"`
|
||||||
ResponseContent string `xorm:"TEXT"`
|
ResponseContent string `xorm:"TEXT"`
|
||||||
ResponseInfo *HookResponse `xorm:"-" json:"-"`
|
ResponseInfo *HookResponse `xorm:"-" json:"-" gorm:"-"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *HookTask) BeforeUpdate() {
|
func (t *HookTask) BeforeUpdate() {
|
||||||
|
|
Loading…
Reference in New Issue