Платформа ЦРНП "Мирокод" для разработки проектов
https://git.mirocod.ru
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
1.8 KiB
69 lines
1.8 KiB
// Copyright 2019 The Gitea Authors. All rights reserved. |
|
// Use of this source code is governed by a MIT-style |
|
// license that can be found in the LICENSE file. |
|
|
|
package admin |
|
|
|
import ( |
|
"testing" |
|
|
|
"github.com/stretchr/testify/assert" |
|
) |
|
|
|
func TestShadowPassword(t *testing.T) { |
|
var kases = []struct { |
|
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)) |
|
} |
|
}
|
|
|