2019-06-27 00:12:38 +08:00
// Copyright 2019 The Gitea Authors. All rights reserved.
2022-11-27 13:20:29 -05:00
// SPDX-License-Identifier: MIT
2019-06-27 00:12:38 +08:00
package admin
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestShadowPassword ( t * testing . T ) {
2022-01-20 18:46:10 +01:00
kases := [ ] struct {
2019-06-27 00:12:38 +08:00
Provider string
CfgItem string
Result string
} {
{
Provider : "redis" ,
CfgItem : "network=tcp,addr=:6379,password=gitea,db=0,pool_size=100,idle_timeout=180" ,
Result : "network=tcp,addr=:6379,password=******,db=0,pool_size=100,idle_timeout=180" ,
} ,
{
Provider : "mysql" ,
CfgItem : "root:@tcp(localhost:3306)/gitea?charset=utf8" ,
Result : "root:******@tcp(localhost:3306)/gitea?charset=utf8" ,
} ,
{
Provider : "mysql" ,
CfgItem : "/gitea?charset=utf8" ,
Result : "/gitea?charset=utf8" ,
} ,
{
Provider : "mysql" ,
CfgItem : "user:mypassword@/dbname" ,
Result : "user:******@/dbname" ,
} ,
{
Provider : "postgres" ,
CfgItem : "user=pqgotest dbname=pqgotest sslmode=verify-full" ,
Result : "user=pqgotest dbname=pqgotest sslmode=verify-full" ,
} ,
{
Provider : "postgres" ,
CfgItem : "user=pqgotest password= dbname=pqgotest sslmode=verify-full" ,
Result : "user=pqgotest password=****** dbname=pqgotest sslmode=verify-full" ,
} ,
{
Provider : "postgres" ,
CfgItem : "postgres://user:pass@hostname/dbname" ,
Result : "postgres://user:******@hostname/dbname" ,
} ,
{
Provider : "couchbase" ,
CfgItem : "http://dev-couchbase.example.com:8091/" ,
Result : "http://dev-couchbase.example.com:8091/" ,
} ,
{
Provider : "couchbase" ,
CfgItem : "http://user:the_password@dev-couchbase.example.com:8091/" ,
Result : "http://user:******@dev-couchbase.example.com:8091/" ,
} ,
}
for _ , k := range kases {
assert . EqualValues ( t , k . Result , shadowPassword ( k . Provider , k . CfgItem ) )
}
}