Skip to content

Commit 77ae475

Browse files
committed
disable gravatar in test
When running e2e tests on flaky networks, gravatar can cause a timeout and test failures. Turn off, and populate avatars on run to make tests more reliable.
1 parent e546480 commit 77ae475

File tree

4 files changed

+28
-2
lines changed

4 files changed

+28
-2
lines changed

models/fixtures/system_setting.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
-
22
id: 1
33
setting_key: 'picture.disable_gravatar'
4-
setting_value: 'false'
4+
setting_value: 'true'
55
version: 1
66
created: 1653533198
77
updated: 1653533198

modules/repository/commits_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212

1313
"code.gitea.io/gitea/models/db"
1414
repo_model "code.gitea.io/gitea/models/repo"
15+
system_model "code.gitea.io/gitea/models/system"
1516
"code.gitea.io/gitea/models/unittest"
1617
"code.gitea.io/gitea/modules/git"
1718
"code.gitea.io/gitea/modules/setting"
@@ -104,6 +105,7 @@ func TestPushCommits_ToAPIPayloadCommits(t *testing.T) {
104105

105106
func TestPushCommits_AvatarLink(t *testing.T) {
106107
assert.NoError(t, unittest.PrepareTestDatabase())
108+
system_model.SetSettings(db.DefaultContext, map[string]string{setting.Config().Picture.DisableGravatar.DynKey(): "defer"})
107109

108110
pushCommits := NewPushCommits()
109111
pushCommits.Commits = []*PushCommit{

services/repository/contributors_graph_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99

1010
"code.gitea.io/gitea/models/db"
1111
repo_model "code.gitea.io/gitea/models/repo"
12+
system_model "code.gitea.io/gitea/models/system"
1213
"code.gitea.io/gitea/models/unittest"
1314
"code.gitea.io/gitea/modules/cache"
1415
"code.gitea.io/gitea/modules/setting"
@@ -18,6 +19,8 @@ import (
1819

1920
func TestRepository_ContributorsGraph(t *testing.T) {
2021
assert.NoError(t, unittest.PrepareTestDatabase())
22+
system_model.SetSettings(db.DefaultContext, map[string]string{setting.Config().Picture.DisableGravatar.DynKey(): "defer"})
23+
2124
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 2})
2225
assert.NoError(t, repo.LoadOwner(db.DefaultContext))
2326
mockCache, err := cache.NewStringCache(setting.Cache{})

tests/e2e/e2e_test.go

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,20 @@ import (
1717
"path/filepath"
1818
"testing"
1919

20+
"code.gitea.io/gitea/models/db"
2021
"code.gitea.io/gitea/models/unittest"
22+
user_model "code.gitea.io/gitea/models/user"
2123
"code.gitea.io/gitea/modules/graceful"
2224
"code.gitea.io/gitea/modules/log"
2325
"code.gitea.io/gitea/modules/setting"
26+
"code.gitea.io/gitea/modules/storage"
2427
"code.gitea.io/gitea/modules/testlogger"
2528
"code.gitea.io/gitea/modules/util"
2629
"code.gitea.io/gitea/modules/web"
2730
"code.gitea.io/gitea/routers"
2831
"code.gitea.io/gitea/tests"
32+
33+
"github.com/stretchr/testify/assert"
2934
)
3035

3136
var testE2eWebRoutes *web.Router
@@ -99,6 +104,22 @@ func TestE2e(t *testing.T) {
99104
t.Run(testname, func(t *testing.T) {
100105
// Default 2 minute timeout
101106
onGiteaRun(t, func(*testing.T, *url.URL) {
107+
err := db.Iterate(context.Background(), nil, func(ctx context.Context, user *user_model.User) error {
108+
if user.Avatar == "" {
109+
return nil
110+
}
111+
avatar, err := os.Open(filepath.Join(filepath.Dir(setting.AppPath), "tests/integration/avatar.png"))
112+
if err != nil {
113+
return err
114+
}
115+
defer avatar.Close()
116+
117+
_, err = storage.Avatars.Save(user.Avatar, avatar, -1)
118+
return err
119+
})
120+
121+
assert.NoError(t, err)
122+
102123
cmd := exec.Command(runArgs[0], runArgs...)
103124
cmd.Env = os.Environ()
104125
cmd.Env = append(cmd.Env, fmt.Sprintf("GITEA_URL=%s", setting.AppURL))
@@ -107,7 +128,7 @@ func TestE2e(t *testing.T) {
107128
cmd.Stdout = &stdout
108129
cmd.Stderr = &stderr
109130

110-
err := cmd.Run()
131+
err = cmd.Run()
111132
if err != nil {
112133
// Currently colored output is conflicting. Using Printf until that is resolved.
113134
fmt.Printf("%v", stdout.String())

0 commit comments

Comments
 (0)