// Copyright 2023 The Gitea Authors. All rights reserved. // SPDX-License-Identifier: MIT package repo import ( "testing" "code.gitea.io/gitea/models/perm" "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/test" "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()) } func TestRepoUnitAccessMode(t *testing.T) { 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)) } 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()) }