mirror of https://github.com/go-gitea/gitea
Fix duplicate sub-path for avatars (#31365)
Fix #31361, and add tests And this PR introduces an undocumented & debug-purpose-only config option: `USE_SUB_URL_PATH`. It does nothing for end users, it only helps the development of sub-path related problems. And also fix #31366 Co-authored-by: @ExplodingDragonpull/31369/head^2
parent
23147494a7
commit
84cbb6c4d2
@ -0,0 +1,28 @@ |
|||||||
|
// Copyright 2024 The Gitea Authors. All rights reserved.
|
||||||
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
package repo |
||||||
|
|
||||||
|
import ( |
||||||
|
"testing" |
||||||
|
|
||||||
|
"code.gitea.io/gitea/models/db" |
||||||
|
"code.gitea.io/gitea/modules/setting" |
||||||
|
"code.gitea.io/gitea/modules/test" |
||||||
|
|
||||||
|
"github.com/stretchr/testify/assert" |
||||||
|
) |
||||||
|
|
||||||
|
func TestRepoAvatarLink(t *testing.T) { |
||||||
|
defer test.MockVariableValue(&setting.AppURL, "https://localhost/")() |
||||||
|
defer test.MockVariableValue(&setting.AppSubURL, "")() |
||||||
|
|
||||||
|
repo := &Repository{ID: 1, Avatar: "avatar.png"} |
||||||
|
link := repo.AvatarLink(db.DefaultContext) |
||||||
|
assert.Equal(t, "https://localhost/repo-avatars/avatar.png", link) |
||||||
|
|
||||||
|
setting.AppURL = "https://localhost/sub-path/" |
||||||
|
setting.AppSubURL = "/sub-path" |
||||||
|
link = repo.AvatarLink(db.DefaultContext) |
||||||
|
assert.Equal(t, "https://localhost/sub-path/repo-avatars/avatar.png", link) |
||||||
|
} |
@ -0,0 +1,28 @@ |
|||||||
|
// Copyright 2024 The Gitea Authors. All rights reserved.
|
||||||
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
package user |
||||||
|
|
||||||
|
import ( |
||||||
|
"testing" |
||||||
|
|
||||||
|
"code.gitea.io/gitea/models/db" |
||||||
|
"code.gitea.io/gitea/modules/setting" |
||||||
|
"code.gitea.io/gitea/modules/test" |
||||||
|
|
||||||
|
"github.com/stretchr/testify/assert" |
||||||
|
) |
||||||
|
|
||||||
|
func TestUserAvatarLink(t *testing.T) { |
||||||
|
defer test.MockVariableValue(&setting.AppURL, "https://localhost/")() |
||||||
|
defer test.MockVariableValue(&setting.AppSubURL, "")() |
||||||
|
|
||||||
|
u := &User{ID: 1, Avatar: "avatar.png"} |
||||||
|
link := u.AvatarLink(db.DefaultContext) |
||||||
|
assert.Equal(t, "https://localhost/avatars/avatar.png", link) |
||||||
|
|
||||||
|
setting.AppURL = "https://localhost/sub-path/" |
||||||
|
setting.AppSubURL = "/sub-path" |
||||||
|
link = u.AvatarLink(db.DefaultContext) |
||||||
|
assert.Equal(t, "https://localhost/sub-path/avatars/avatar.png", link) |
||||||
|
} |
@ -0,0 +1,18 @@ |
|||||||
|
// Copyright 2024 The Gitea Authors. All rights reserved.
|
||||||
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
package setting |
||||||
|
|
||||||
|
// Global settings
|
||||||
|
var ( |
||||||
|
// RunUser is the OS user that Gitea is running as. ini:"RUN_USER"
|
||||||
|
RunUser string |
||||||
|
// RunMode is the running mode of Gitea, it only accepts two values: "dev" and "prod".
|
||||||
|
// Non-dev values will be replaced by "prod". ini: "RUN_MODE"
|
||||||
|
RunMode string |
||||||
|
// IsProd is true if RunMode is not "dev"
|
||||||
|
IsProd bool |
||||||
|
|
||||||
|
// AppName is the Application name, used in the page title. ini: "APP_NAME"
|
||||||
|
AppName string |
||||||
|
) |
Loading…
Reference in new issue