aboutsummaryrefslogtreecommitdiffstats
path: root/models/organization/team_list_test.go
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2024-12-10 13:15:06 -0800
committerGitHub <noreply@github.com>2024-12-11 05:15:06 +0800
commitfbe6d9dc6b9f04e8be219ad4b442df9e08c16b7b (patch)
tree73d380093f37c44bf90c55cd67ed092ec4d37a59 /models/organization/team_list_test.go
parent2ac6f2b129fd6d955ac0fdb4dcf46efd5163f3b3 (diff)
downloadgitea-fbe6d9dc6b9f04e8be219ad4b442df9e08c16b7b.tar.gz
gitea-fbe6d9dc6b9f04e8be219ad4b442df9e08c16b7b.zip
Use batch database operations instead of one by one to optimze api pulls (#32680)
Resolve #31492 The response time for the Pull Requests API has improved significantly, dropping from over `2000ms` to about `350ms` on my local machine. It's about `6` times faster. A key area for further optimization lies in batch-fetching data for `apiPullRequest.ChangedFiles, apiPullRequest.Additions, and apiPullRequest.Deletions`. Tests `TestAPIViewPulls` does exist and new tests added. - This PR also fixes some bugs in `GetDiff` functions. - This PR also fixes data inconsistent in test data. For a pull request, the head branch's reference should be equal to the reference in `pull/xxx/head`.
Diffstat (limited to 'models/organization/team_list_test.go')
-rw-r--r--models/organization/team_list_test.go25
1 files changed, 25 insertions, 0 deletions
diff --git a/models/organization/team_list_test.go b/models/organization/team_list_test.go
new file mode 100644
index 0000000000..5526446e22
--- /dev/null
+++ b/models/organization/team_list_test.go
@@ -0,0 +1,25 @@
+// Copyright 2024 The Gitea Authors. All rights reserved.
+// SPDX-License-Identifier: MIT
+
+package organization_test
+
+import (
+ "testing"
+
+ "code.gitea.io/gitea/models/db"
+ org_model "code.gitea.io/gitea/models/organization"
+ "code.gitea.io/gitea/models/unittest"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func Test_GetTeamsByIDs(t *testing.T) {
+ assert.NoError(t, unittest.PrepareTestDatabase())
+
+ // 1 owner team, 2 normal team
+ teams, err := org_model.GetTeamsByIDs(db.DefaultContext, []int64{1, 2})
+ assert.NoError(t, err)
+ assert.Len(t, teams, 2)
+ assert.Equal(t, "Owners", teams[1].Name)
+ assert.Equal(t, "team1", teams[2].Name)
+}