Skip to content

Commit dcb2993

Browse files
committed
Merge remote-tracking branch 'giteaofficial/main'
* giteaofficial/main: Refactor pagination (go-gitea#33037) Test webhook email (go-gitea#33033) Fix review code comment avatar alignment (go-gitea#33031) Fix templating in pull request comparison (go-gitea#33025) Refactor tests (go-gitea#33021) [skip ci] Updated translations via Crowdin always show assignees on right (go-gitea#33006) fix toggle commit body button ui when latest commit message is long (go-gitea#32997) Fix and/or comment some legacy CSS problems (go-gitea#33015) Refactor comment history and fix content edit (go-gitea#33018) Fix bug on activities (go-gitea#33008) Refactor arch route handlers (go-gitea#32993) fix scoped label ui when contains emoji (go-gitea#33007) [skip ci] Updated translations via Crowdin De-emphasize signed commits (go-gitea#31160) Fix eslint (go-gitea#33002) Fix Agit pull request permission check (go-gitea#32999) Support for email addresses containing uppercase characters when activating user account (go-gitea#32998)
2 parents bdd5c10 + cd1b548 commit dcb2993

File tree

90 files changed

+1178
-1256
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

90 files changed

+1178
-1256
lines changed

.eslintrc.cjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -674,7 +674,7 @@ module.exports = {
674674
'no-this-before-super': [2],
675675
'no-throw-literal': [2],
676676
'no-undef-init': [2],
677-
'no-undef': [0],
677+
'no-undef': [2], // it is still needed by eslint & IDE to prompt undefined names in real time
678678
'no-undefined': [0],
679679
'no-underscore-dangle': [0],
680680
'no-unexpected-multiline': [2],

models/activities/repo_activity.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import (
1616
"code.gitea.io/gitea/modules/git"
1717
"code.gitea.io/gitea/modules/gitrepo"
1818

19+
"xorm.io/builder"
1920
"xorm.io/xorm"
2021
)
2122

@@ -337,8 +338,10 @@ func newlyCreatedIssues(ctx context.Context, repoID int64, fromTime time.Time) *
337338
func activeIssues(ctx context.Context, repoID int64, fromTime time.Time) *xorm.Session {
338339
sess := db.GetEngine(ctx).Where("issue.repo_id = ?", repoID).
339340
And("issue.is_pull = ?", false).
340-
And("issue.created_unix >= ?", fromTime.Unix()).
341-
Or("issue.closed_unix >= ?", fromTime.Unix())
341+
And(builder.Or(
342+
builder.Gte{"issue.created_unix": fromTime.Unix()},
343+
builder.Gte{"issue.closed_unix": fromTime.Unix()},
344+
))
342345

343346
return sess
344347
}

models/activities/user_heatmap_test.go

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,9 @@ func TestGetUserHeatmapDataByUser(t *testing.T) {
6464
for _, tc := range testCases {
6565
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: tc.userID})
6666

67-
doer := &user_model.User{ID: tc.doerID}
68-
_, err := unittest.LoadBeanIfExists(doer)
69-
assert.NoError(t, err)
70-
if tc.doerID == 0 {
71-
doer = nil
67+
var doer *user_model.User
68+
if tc.doerID != 0 {
69+
doer = unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: tc.doerID})
7270
}
7371

7472
// get the action for comparison

models/auth/webauthn_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,15 +44,15 @@ func TestWebAuthnCredential_UpdateSignCount(t *testing.T) {
4444
cred := unittest.AssertExistsAndLoadBean(t, &auth_model.WebAuthnCredential{ID: 1})
4545
cred.SignCount = 1
4646
assert.NoError(t, cred.UpdateSignCount(db.DefaultContext))
47-
unittest.AssertExistsIf(t, true, &auth_model.WebAuthnCredential{ID: 1, SignCount: 1})
47+
unittest.AssertExistsAndLoadBean(t, &auth_model.WebAuthnCredential{ID: 1, SignCount: 1})
4848
}
4949

5050
func TestWebAuthnCredential_UpdateLargeCounter(t *testing.T) {
5151
assert.NoError(t, unittest.PrepareTestDatabase())
5252
cred := unittest.AssertExistsAndLoadBean(t, &auth_model.WebAuthnCredential{ID: 1})
5353
cred.SignCount = 0xffffffff
5454
assert.NoError(t, cred.UpdateSignCount(db.DefaultContext))
55-
unittest.AssertExistsIf(t, true, &auth_model.WebAuthnCredential{ID: 1, SignCount: 0xffffffff})
55+
unittest.AssertExistsAndLoadBean(t, &auth_model.WebAuthnCredential{ID: 1, SignCount: 0xffffffff})
5656
}
5757

5858
func TestCreateCredential(t *testing.T) {
@@ -63,5 +63,5 @@ func TestCreateCredential(t *testing.T) {
6363
assert.Equal(t, "WebAuthn Created Credential", res.Name)
6464
assert.Equal(t, []byte("Test"), res.CredentialID)
6565

66-
unittest.AssertExistsIf(t, true, &auth_model.WebAuthnCredential{Name: "WebAuthn Created Credential", UserID: 1})
66+
unittest.AssertExistsAndLoadBean(t, &auth_model.WebAuthnCredential{Name: "WebAuthn Created Credential", UserID: 1})
6767
}

models/issues/issue_user_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"code.gitea.io/gitea/models/unittest"
1313

1414
"github.com/stretchr/testify/assert"
15+
"github.com/stretchr/testify/require"
1516
)
1617

1718
func Test_NewIssueUsers(t *testing.T) {
@@ -27,9 +28,8 @@ func Test_NewIssueUsers(t *testing.T) {
2728
}
2829

2930
// artificially insert new issue
30-
unittest.AssertSuccessfulInsert(t, newIssue)
31-
32-
assert.NoError(t, issues_model.NewIssueUsers(db.DefaultContext, repo, newIssue))
31+
require.NoError(t, db.Insert(db.DefaultContext, newIssue))
32+
require.NoError(t, issues_model.NewIssueUsers(db.DefaultContext, repo, newIssue))
3333

3434
// issue_user table should now have entries for new issue
3535
unittest.AssertExistsAndLoadBean(t, &issues_model.IssueUser{IssueID: newIssue.ID, UID: newIssue.PosterID})

models/issues/label_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -387,7 +387,7 @@ func TestDeleteIssueLabel(t *testing.T) {
387387

388388
expectedNumIssues := label.NumIssues
389389
expectedNumClosedIssues := label.NumClosedIssues
390-
if unittest.BeanExists(t, &issues_model.IssueLabel{IssueID: issueID, LabelID: labelID}) {
390+
if unittest.GetBean(t, &issues_model.IssueLabel{IssueID: issueID, LabelID: labelID}) != nil {
391391
expectedNumIssues--
392392
if issue.IsClosed {
393393
expectedNumClosedIssues--

models/organization/org_user_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ func TestAddOrgUser(t *testing.T) {
131131
testSuccess := func(orgID, userID int64, isPublic bool) {
132132
org := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: orgID})
133133
expectedNumMembers := org.NumMembers
134-
if !unittest.BeanExists(t, &organization.OrgUser{OrgID: orgID, UID: userID}) {
134+
if unittest.GetBean(t, &organization.OrgUser{OrgID: orgID, UID: userID}) == nil {
135135
expectedNumMembers++
136136
}
137137
assert.NoError(t, organization.AddOrgUser(db.DefaultContext, orgID, userID))

models/unittest/fixtures.go

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
// Copyright 2021 The Gitea Authors. All rights reserved.
22
// SPDX-License-Identifier: MIT
33

4-
//nolint:forbidigo
54
package unittest
65

76
import (
87
"fmt"
9-
"os"
108
"time"
119

1210
"code.gitea.io/gitea/models/db"
@@ -37,7 +35,7 @@ func InitFixtures(opts FixturesOptions, engine ...*xorm.Engine) (err error) {
3735
} else {
3836
fixtureOptionFiles = testfixtures.Files(opts.Files...)
3937
}
40-
dialect := "unknown"
38+
var dialect string
4139
switch e.Dialect().URI().DBType {
4240
case schemas.POSTGRES:
4341
dialect = "postgres"
@@ -48,8 +46,7 @@ func InitFixtures(opts FixturesOptions, engine ...*xorm.Engine) (err error) {
4846
case schemas.SQLITE:
4947
dialect = "sqlite3"
5048
default:
51-
fmt.Println("Unsupported RDBMS for integration tests")
52-
os.Exit(1)
49+
return fmt.Errorf("unsupported RDBMS for integration tests: %q", e.Dialect().URI().DBType)
5350
}
5451
loaderOptions := []func(loader *testfixtures.Loader) error{
5552
testfixtures.Database(e.DB().DB),
@@ -69,9 +66,7 @@ func InitFixtures(opts FixturesOptions, engine ...*xorm.Engine) (err error) {
6966

7067
// register the dummy hash algorithm function used in the test fixtures
7168
_ = hash.Register("dummy", hash.NewDummyHasher)
72-
7369
setting.PasswordHashAlgo, _ = hash.SetDefaultPasswordHashAlgorithm("dummy")
74-
7570
return err
7671
}
7772

@@ -87,7 +82,7 @@ func LoadFixtures(engine ...*xorm.Engine) error {
8782
time.Sleep(200 * time.Millisecond)
8883
}
8984
if err != nil {
90-
fmt.Printf("LoadFixtures failed after retries: %v\n", err)
85+
return fmt.Errorf("LoadFixtures failed after retries: %w", err)
9186
}
9287
// Now if we're running postgres we need to tell it to update the sequences
9388
if e.Dialect().URI().DBType == schemas.POSTGRES {
@@ -108,21 +103,18 @@ func LoadFixtures(engine ...*xorm.Engine) error {
108103
AND T.relname = PGT.tablename
109104
ORDER BY S.relname;`)
110105
if err != nil {
111-
fmt.Printf("Failed to generate sequence update: %v\n", err)
112-
return err
106+
return fmt.Errorf("failed to generate sequence update: %w", err)
113107
}
114108
for _, r := range results {
115109
for _, value := range r {
116110
_, err = e.Exec(value)
117111
if err != nil {
118-
fmt.Printf("Failed to update sequence: %s Error: %v\n", value, err)
119-
return err
112+
return fmt.Errorf("failed to update sequence: %s, error: %w", value, err)
120113
}
121114
}
122115
}
123116
}
124117
_ = hash.Register("dummy", hash.NewDummyHasher)
125118
setting.PasswordHashAlgo, _ = hash.SetDefaultPasswordHashAlgorithm("dummy")
126-
127-
return err
119+
return nil
128120
}

models/unittest/reflection.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
package unittest
55

66
import (
7-
"log"
7+
"fmt"
88
"reflect"
99
)
1010

@@ -14,7 +14,7 @@ func fieldByName(v reflect.Value, field string) reflect.Value {
1414
}
1515
f := v.FieldByName(field)
1616
if !f.IsValid() {
17-
log.Panicf("can not read %s for %v", field, v)
17+
panic(fmt.Errorf("can not read %s for %v", field, v))
1818
}
1919
return f
2020
}

models/unittest/testdb.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,6 @@ var (
3434
fixturesDir string
3535
)
3636

37-
// FixturesDir returns the fixture directory
38-
func FixturesDir() string {
39-
return fixturesDir
40-
}
41-
4237
func fatalTestError(fmtStr string, args ...any) {
4338
_, _ = fmt.Fprintf(os.Stderr, fmtStr, args...)
4439
os.Exit(1)

0 commit comments

Comments
 (0)