refactor: shorten model and table prefixes
This commit is contained in:
@@ -41,9 +41,9 @@ func TestPostgresDemoSeedSerializesConcurrentRunsForSameOwner(t *testing.T) {
|
||||
email := "postgres-seed-" + suffix + "@example.com"
|
||||
passwordHash, err := bcrypt.GenerateFromPassword([]byte("original-password"), bcrypt.MinCost)
|
||||
require.NoError(t, err)
|
||||
user := models.SenlinAgentUser{Email: email, DisplayName: "保留用户名称", PasswordHash: string(passwordHash), Role: "user"}
|
||||
user := models.SaUser{Email: email, DisplayName: "保留用户名称", PasswordHash: string(passwordHash), Role: "user"}
|
||||
require.NoError(t, database.Create(&user).Error)
|
||||
projects := []models.SenlinAgentProject{
|
||||
projects := []models.SaProject{
|
||||
{OwnerID: user.ID, Name: "项目 A1", Identifier: "A1"},
|
||||
{OwnerID: user.ID, Name: "项目 A2", Identifier: "A2"},
|
||||
{OwnerID: user.ID, Name: "数据中台", Identifier: "DATA"},
|
||||
@@ -52,9 +52,9 @@ func TestPostgresDemoSeedSerializesConcurrentRunsForSameOwner(t *testing.T) {
|
||||
for index := range projects {
|
||||
require.NoError(t, database.Create(&projects[index]).Error)
|
||||
}
|
||||
uiTag := models.SenlinAgentTag{ProjectID: projects[0].ID, Name: "UI"}
|
||||
uiTag := models.SaTag{ProjectID: projects[0].ID, Name: "UI"}
|
||||
require.NoError(t, database.Create(&uiTag).Error)
|
||||
require.NoError(t, database.Create(&models.SenlinAgentTask{
|
||||
require.NoError(t, database.Create(&models.SaTask{
|
||||
ProjectID: projects[0].ID, CreatedBy: user.ID, TagID: &uiTag.ID,
|
||||
Title: "智能报表导出功能", Status: "open",
|
||||
}).Error)
|
||||
@@ -76,7 +76,7 @@ func TestPostgresDemoSeedSerializesConcurrentRunsForSameOwner(t *testing.T) {
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
if tx.Statement.Schema.Table == (models.SenlinAgentUser{}).TableName() {
|
||||
if tx.Statement.Schema.Table == (models.SaUser{}).TableName() {
|
||||
if _, locking := tx.Statement.Clauses["FOR"]; locking && marker == secondDemoSeedRun {
|
||||
signalDemoSeedStage(secondOwnerQueryAttempted)
|
||||
}
|
||||
@@ -135,22 +135,22 @@ func TestPostgresDemoSeedSerializesConcurrentRunsForSameOwner(t *testing.T) {
|
||||
require.NoError(t, waitForDemoSeedResult(t, ctx, firstResult, "first Demo result"))
|
||||
require.NoError(t, waitForDemoSeedResult(t, ctx, secondResult, "second Demo result"))
|
||||
|
||||
var storedUser models.SenlinAgentUser
|
||||
var storedUser models.SaUser
|
||||
require.NoError(t, database.Where("email = ?", email).First(&storedUser).Error)
|
||||
require.Equal(t, "保留用户名称", storedUser.DisplayName)
|
||||
require.NoError(t, bcrypt.CompareHashAndPassword([]byte(storedUser.PasswordHash), []byte("original-password")))
|
||||
require.Error(t, bcrypt.CompareHashAndPassword([]byte(storedUser.PasswordHash), []byte("new-password")))
|
||||
|
||||
projectIDs := []uint{projects[0].ID, projects[1].ID, projects[2].ID, projects[3].ID}
|
||||
assertPostgresDemoCount(t, database, &models.SenlinAgentProject{}, "owner_id = ?", []any{user.ID}, 4)
|
||||
assertPostgresDemoCount(t, database, &models.SenlinAgentTag{}, "project_id = ?", []any{projects[0].ID}, 4)
|
||||
assertPostgresDemoCount(t, database, &models.SenlinAgentTask{}, "project_id IN ?", []any{projectIDs}, 6)
|
||||
assertPostgresDemoCount(t, database, &models.SenlinAgentInboxItem{}, "project_id IN ?", []any{projectIDs}, 7)
|
||||
assertPostgresDemoCount(t, database, &models.SenlinAgentAISession{}, "project_id = ?", []any{projects[0].ID}, 4)
|
||||
assertPostgresDemoCount(t, database, &models.SenlinAgentNote{}, "project_id = ?", []any{projects[0].ID}, 2)
|
||||
assertPostgresDemoCount(t, database, &models.SenlinAgentSource{}, "project_id = ?", []any{projects[0].ID}, 2)
|
||||
assertPostgresDemoCount(t, database, &models.SenlinAgentCronPlan{}, "project_id = ?", []any{projects[0].ID}, 3)
|
||||
assertPostgresDemoCount(t, database, &models.SenlinAgentProjectChannel{}, "project_id = ?", []any{projects[0].ID}, 2)
|
||||
assertPostgresDemoCount(t, database, &models.SaProject{}, "owner_id = ?", []any{user.ID}, 4)
|
||||
assertPostgresDemoCount(t, database, &models.SaTag{}, "project_id = ?", []any{projects[0].ID}, 4)
|
||||
assertPostgresDemoCount(t, database, &models.SaTask{}, "project_id IN ?", []any{projectIDs}, 6)
|
||||
assertPostgresDemoCount(t, database, &models.SaInboxItem{}, "project_id IN ?", []any{projectIDs}, 7)
|
||||
assertPostgresDemoCount(t, database, &models.SaAISession{}, "project_id = ?", []any{projects[0].ID}, 4)
|
||||
assertPostgresDemoCount(t, database, &models.SaNote{}, "project_id = ?", []any{projects[0].ID}, 2)
|
||||
assertPostgresDemoCount(t, database, &models.SaSource{}, "project_id = ?", []any{projects[0].ID}, 2)
|
||||
assertPostgresDemoCount(t, database, &models.SaCronPlan{}, "project_id = ?", []any{projects[0].ID}, 3)
|
||||
assertPostgresDemoCount(t, database, &models.SaProjectChannel{}, "project_id = ?", []any{projects[0].ID}, 2)
|
||||
}
|
||||
|
||||
func signalDemoSeedStage(stage chan<- struct{}) {
|
||||
@@ -188,7 +188,7 @@ func assertPostgresDemoCount(t *testing.T, database *gorm.DB, model any, where s
|
||||
}
|
||||
|
||||
func cleanupPostgresDemoSeed(database *gorm.DB, userID uint) {
|
||||
var projects []models.SenlinAgentProject
|
||||
var projects []models.SaProject
|
||||
if database.Where("owner_id = ?", userID).Find(&projects).Error != nil {
|
||||
return
|
||||
}
|
||||
@@ -197,34 +197,34 @@ func cleanupPostgresDemoSeed(database *gorm.DB, userID uint) {
|
||||
projectIDs = append(projectIDs, project.ID)
|
||||
}
|
||||
if len(projectIDs) != 0 {
|
||||
var tasks []models.SenlinAgentTask
|
||||
var tasks []models.SaTask
|
||||
database.Where("project_id IN ?", projectIDs).Find(&tasks)
|
||||
taskIDs := make([]uint, 0, len(tasks))
|
||||
for _, task := range tasks {
|
||||
taskIDs = append(taskIDs, task.ID)
|
||||
}
|
||||
if len(taskIDs) != 0 {
|
||||
database.Where("task_id IN ?", taskIDs).Delete(&models.SenlinAgentTaskShare{})
|
||||
database.Where("task_id IN ?", taskIDs).Delete(&models.SaTaskShare{})
|
||||
}
|
||||
var inboxItems []models.SenlinAgentInboxItem
|
||||
var inboxItems []models.SaInboxItem
|
||||
database.Where("project_id IN ?", projectIDs).Find(&inboxItems)
|
||||
inboxIDs := make([]uint, 0, len(inboxItems))
|
||||
for _, item := range inboxItems {
|
||||
inboxIDs = append(inboxIDs, item.ID)
|
||||
}
|
||||
if len(inboxIDs) != 0 {
|
||||
database.Where("inbox_item_id IN ?", inboxIDs).Delete(&models.SenlinAgentInboxSuggestion{})
|
||||
database.Where("inbox_item_id IN ?", inboxIDs).Delete(&models.SaInboxSuggestion{})
|
||||
}
|
||||
database.Where("project_id IN ?", projectIDs).Delete(&models.SenlinAgentProjectEvent{})
|
||||
database.Where("project_id IN ?", projectIDs).Delete(&models.SenlinAgentTask{})
|
||||
database.Where("project_id IN ?", projectIDs).Delete(&models.SenlinAgentNote{})
|
||||
database.Where("project_id IN ?", projectIDs).Delete(&models.SenlinAgentSource{})
|
||||
database.Where("project_id IN ?", projectIDs).Delete(&models.SenlinAgentAISession{})
|
||||
database.Where("project_id IN ?", projectIDs).Delete(&models.SenlinAgentTag{})
|
||||
database.Where("project_id IN ?", projectIDs).Delete(&models.SenlinAgentProjectChannel{})
|
||||
database.Where("project_id IN ?", projectIDs).Delete(&models.SenlinAgentCronPlan{})
|
||||
database.Where("project_id IN ?", projectIDs).Delete(&models.SenlinAgentInboxItem{})
|
||||
database.Where("id IN ?", projectIDs).Delete(&models.SenlinAgentProject{})
|
||||
database.Where("project_id IN ?", projectIDs).Delete(&models.SaProjectEvent{})
|
||||
database.Where("project_id IN ?", projectIDs).Delete(&models.SaTask{})
|
||||
database.Where("project_id IN ?", projectIDs).Delete(&models.SaNote{})
|
||||
database.Where("project_id IN ?", projectIDs).Delete(&models.SaSource{})
|
||||
database.Where("project_id IN ?", projectIDs).Delete(&models.SaAISession{})
|
||||
database.Where("project_id IN ?", projectIDs).Delete(&models.SaTag{})
|
||||
database.Where("project_id IN ?", projectIDs).Delete(&models.SaProjectChannel{})
|
||||
database.Where("project_id IN ?", projectIDs).Delete(&models.SaCronPlan{})
|
||||
database.Where("project_id IN ?", projectIDs).Delete(&models.SaInboxItem{})
|
||||
database.Where("id IN ?", projectIDs).Delete(&models.SaProject{})
|
||||
}
|
||||
database.Delete(&models.SenlinAgentUser{}, userID)
|
||||
database.Delete(&models.SaUser{}, userID)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user