forked from NYANDEV/forgejo
d59b79a72c
(cherry picked from commit 3ea0b287d74b8fc0dad08b2a539105e1aa1c1e67) (cherry picked from commit db8392a8ac093d4d3760e8bb40c56d8e194d44fb) (cherry picked from commit bd2a5fa2923c320e01faeaa1fdc1ad823c337027) (cherry picked from commit 235a91c4ae2ddd1810ca172c3306e091742f6912) (cherry picked from commitec12e54182
) (cherry picked from commit d456d25d88dbb3909bf6b2850e40b74a19305221) (cherry picked from commit4a332f73d1
)
38 lines
1.2 KiB
Go
38 lines
1.2 KiB
Go
// Copyright 2023 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package hash
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestCheckSettingPasswordHashAlgorithm(t *testing.T) {
|
|
t.Run("pbkdf2 is pbkdf2_v2", func(t *testing.T) {
|
|
pbkdf2v2Config, pbkdf2v2Algo := SetDefaultPasswordHashAlgorithm("pbkdf2_v2")
|
|
pbkdf2Config, pbkdf2Algo := SetDefaultPasswordHashAlgorithm("pbkdf2")
|
|
|
|
assert.Equal(t, pbkdf2v2Config, pbkdf2Config)
|
|
assert.Equal(t, pbkdf2v2Algo.Specification, pbkdf2Algo.Specification)
|
|
})
|
|
|
|
for a, b := range aliasAlgorithmNames {
|
|
t.Run(a+"="+b, func(t *testing.T) {
|
|
aConfig, aAlgo := SetDefaultPasswordHashAlgorithm(a)
|
|
bConfig, bAlgo := SetDefaultPasswordHashAlgorithm(b)
|
|
|
|
assert.Equal(t, bConfig, aConfig)
|
|
assert.Equal(t, aAlgo.Specification, bAlgo.Specification)
|
|
})
|
|
}
|
|
|
|
t.Run("pbkdf2_hi is the default when default password hash algorithm is empty", func(t *testing.T) {
|
|
emptyConfig, emptyAlgo := SetDefaultPasswordHashAlgorithm("")
|
|
pbkdf2hiConfig, pbkdf2hiAlgo := SetDefaultPasswordHashAlgorithm("pbkdf2_hi")
|
|
|
|
assert.Equal(t, pbkdf2hiConfig, emptyConfig)
|
|
assert.Equal(t, pbkdf2hiAlgo.Specification, emptyAlgo.Specification)
|
|
})
|
|
}
|