code.gitea.io/gitea@v1.19.3/modules/auth/password/hash/setting_test.go (about)

     1  // Copyright 2023 The Gitea Authors. All rights reserved.
     2  // SPDX-License-Identifier: MIT
     3  
     4  package hash
     5  
     6  import (
     7  	"testing"
     8  
     9  	"github.com/stretchr/testify/assert"
    10  )
    11  
    12  func TestCheckSettingPasswordHashAlgorithm(t *testing.T) {
    13  	t.Run("pbkdf2 is pbkdf2_v2", func(t *testing.T) {
    14  		pbkdf2v2Config, pbkdf2v2Algo := SetDefaultPasswordHashAlgorithm("pbkdf2_v2")
    15  		pbkdf2Config, pbkdf2Algo := SetDefaultPasswordHashAlgorithm("pbkdf2")
    16  
    17  		assert.Equal(t, pbkdf2v2Config, pbkdf2Config)
    18  		assert.Equal(t, pbkdf2v2Algo.Specification, pbkdf2Algo.Specification)
    19  	})
    20  
    21  	for a, b := range aliasAlgorithmNames {
    22  		t.Run(a+"="+b, func(t *testing.T) {
    23  			aConfig, aAlgo := SetDefaultPasswordHashAlgorithm(a)
    24  			bConfig, bAlgo := SetDefaultPasswordHashAlgorithm(b)
    25  
    26  			assert.Equal(t, bConfig, aConfig)
    27  			assert.Equal(t, aAlgo.Specification, bAlgo.Specification)
    28  		})
    29  	}
    30  
    31  	t.Run("pbkdf2_v2 is the default when default password hash algorithm is empty", func(t *testing.T) {
    32  		emptyConfig, emptyAlgo := SetDefaultPasswordHashAlgorithm("")
    33  		pbkdf2v2Config, pbkdf2v2Algo := SetDefaultPasswordHashAlgorithm("pbkdf2_v2")
    34  
    35  		assert.Equal(t, pbkdf2v2Config, emptyConfig)
    36  		assert.Equal(t, pbkdf2v2Algo.Specification, emptyAlgo.Specification)
    37  	})
    38  }