code.gitea.io/gitea@v1.22.3/modules/setting/git_test.go (about)

     1  // Copyright 2019 The Gitea Authors. All rights reserved.
     2  // SPDX-License-Identifier: MIT
     3  
     4  package setting
     5  
     6  import (
     7  	"testing"
     8  
     9  	"github.com/stretchr/testify/assert"
    10  )
    11  
    12  func TestGitConfig(t *testing.T) {
    13  	oldGit := Git
    14  	oldGitConfig := GitConfig
    15  	defer func() {
    16  		Git = oldGit
    17  		GitConfig = oldGitConfig
    18  	}()
    19  
    20  	cfg, err := NewConfigProviderFromData(`
    21  [git.config]
    22  a.b = 1
    23  `)
    24  	assert.NoError(t, err)
    25  	loadGitFrom(cfg)
    26  	assert.EqualValues(t, "1", GitConfig.Options["a.b"])
    27  	assert.EqualValues(t, "histogram", GitConfig.Options["diff.algorithm"])
    28  
    29  	cfg, err = NewConfigProviderFromData(`
    30  [git.config]
    31  diff.algorithm = other
    32  `)
    33  	assert.NoError(t, err)
    34  	loadGitFrom(cfg)
    35  	assert.EqualValues(t, "other", GitConfig.Options["diff.algorithm"])
    36  }
    37  
    38  func TestGitReflog(t *testing.T) {
    39  	oldGit := Git
    40  	oldGitConfig := GitConfig
    41  	defer func() {
    42  		Git = oldGit
    43  		GitConfig = oldGitConfig
    44  	}()
    45  
    46  	// default reflog config without legacy options
    47  	cfg, err := NewConfigProviderFromData(``)
    48  	assert.NoError(t, err)
    49  	loadGitFrom(cfg)
    50  
    51  	assert.EqualValues(t, "true", GitConfig.GetOption("core.logAllRefUpdates"))
    52  	assert.EqualValues(t, "90", GitConfig.GetOption("gc.reflogExpire"))
    53  
    54  	// custom reflog config by legacy options
    55  	cfg, err = NewConfigProviderFromData(`
    56  [git.reflog]
    57  ENABLED = false
    58  EXPIRATION = 123
    59  `)
    60  	assert.NoError(t, err)
    61  	loadGitFrom(cfg)
    62  
    63  	assert.EqualValues(t, "false", GitConfig.GetOption("core.logAllRefUpdates"))
    64  	assert.EqualValues(t, "123", GitConfig.GetOption("gc.reflogExpire"))
    65  }