2023-08-14 11:14:30 -04:00
|
|
|
// Copyright 2023 The Gitea Authors. All rights reserved.
|
|
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
|
|
|
|
package repo
|
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
|
|
|
|
2023-12-20 15:44:55 -05:00
|
|
|
"code.gitea.io/gitea/models/perm"
|
2024-12-14 02:12:04 -05:00
|
|
|
"code.gitea.io/gitea/modules/setting"
|
|
|
|
"code.gitea.io/gitea/modules/test"
|
2023-12-20 15:44:55 -05:00
|
|
|
|
2023-08-14 11:14:30 -04:00
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestActionsConfig(t *testing.T) {
|
|
|
|
cfg := &ActionsConfig{}
|
|
|
|
cfg.DisableWorkflow("test1.yaml")
|
|
|
|
assert.EqualValues(t, []string{"test1.yaml"}, cfg.DisabledWorkflows)
|
|
|
|
|
|
|
|
cfg.DisableWorkflow("test1.yaml")
|
|
|
|
assert.EqualValues(t, []string{"test1.yaml"}, cfg.DisabledWorkflows)
|
|
|
|
|
|
|
|
cfg.EnableWorkflow("test1.yaml")
|
|
|
|
assert.EqualValues(t, []string{}, cfg.DisabledWorkflows)
|
|
|
|
|
|
|
|
cfg.EnableWorkflow("test1.yaml")
|
|
|
|
assert.EqualValues(t, []string{}, cfg.DisabledWorkflows)
|
|
|
|
|
|
|
|
cfg.DisableWorkflow("test1.yaml")
|
|
|
|
cfg.DisableWorkflow("test2.yaml")
|
|
|
|
cfg.DisableWorkflow("test3.yaml")
|
|
|
|
assert.EqualValues(t, "test1.yaml,test2.yaml,test3.yaml", cfg.ToString())
|
|
|
|
}
|
2023-12-20 15:44:55 -05:00
|
|
|
|
|
|
|
func TestRepoUnitAccessMode(t *testing.T) {
|
2024-07-30 15:41:10 -04:00
|
|
|
assert.Equal(t, perm.AccessModeNone, UnitAccessModeNone.ToAccessMode(perm.AccessModeAdmin))
|
|
|
|
assert.Equal(t, perm.AccessModeRead, UnitAccessModeRead.ToAccessMode(perm.AccessModeAdmin))
|
|
|
|
assert.Equal(t, perm.AccessModeWrite, UnitAccessModeWrite.ToAccessMode(perm.AccessModeAdmin))
|
|
|
|
assert.Equal(t, perm.AccessModeRead, UnitAccessModeUnset.ToAccessMode(perm.AccessModeRead))
|
2023-12-20 15:44:55 -05:00
|
|
|
}
|
2024-12-14 02:12:04 -05:00
|
|
|
|
|
|
|
func TestRepoPRIsUpdateStyleAllowed(t *testing.T) {
|
|
|
|
var cfg PullRequestsConfig
|
|
|
|
cfg = PullRequestsConfig{
|
|
|
|
AllowRebaseUpdate: true,
|
|
|
|
}
|
|
|
|
assert.True(t, cfg.IsUpdateStyleAllowed(UpdateStyleMerge))
|
|
|
|
assert.True(t, cfg.IsUpdateStyleAllowed(UpdateStyleRebase))
|
|
|
|
|
|
|
|
cfg = PullRequestsConfig{
|
|
|
|
AllowRebaseUpdate: false,
|
|
|
|
}
|
|
|
|
assert.True(t, cfg.IsUpdateStyleAllowed(UpdateStyleMerge))
|
|
|
|
assert.False(t, cfg.IsUpdateStyleAllowed(UpdateStyleRebase))
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestRepoPRGetDefaultUpdateStyle(t *testing.T) {
|
|
|
|
defer test.MockVariableValue(&setting.Repository.PullRequest.DefaultUpdateStyle, "merge")()
|
|
|
|
|
|
|
|
var cfg PullRequestsConfig
|
|
|
|
cfg = PullRequestsConfig{
|
|
|
|
DefaultUpdateStyle: "",
|
|
|
|
}
|
|
|
|
assert.Equal(t, UpdateStyleMerge, cfg.GetDefaultUpdateStyle())
|
|
|
|
cfg = PullRequestsConfig{
|
|
|
|
DefaultUpdateStyle: "rebase",
|
|
|
|
}
|
|
|
|
assert.Equal(t, UpdateStyleRebase, cfg.GetDefaultUpdateStyle())
|
|
|
|
cfg = PullRequestsConfig{
|
|
|
|
DefaultUpdateStyle: "merge",
|
|
|
|
}
|
|
|
|
assert.Equal(t, UpdateStyleMerge, cfg.GetDefaultUpdateStyle())
|
|
|
|
|
|
|
|
setting.Repository.PullRequest.DefaultUpdateStyle = "rebase"
|
|
|
|
cfg = PullRequestsConfig{
|
|
|
|
DefaultUpdateStyle: "",
|
|
|
|
}
|
|
|
|
assert.Equal(t, UpdateStyleRebase, cfg.GetDefaultUpdateStyle())
|
|
|
|
cfg = PullRequestsConfig{
|
|
|
|
DefaultUpdateStyle: "rebase",
|
|
|
|
}
|
|
|
|
assert.Equal(t, UpdateStyleRebase, cfg.GetDefaultUpdateStyle())
|
|
|
|
cfg = PullRequestsConfig{
|
|
|
|
DefaultUpdateStyle: "merge",
|
|
|
|
}
|
|
|
|
assert.Equal(t, UpdateStyleMerge, cfg.GetDefaultUpdateStyle())
|
|
|
|
}
|