feat(v2): 账户配置注册表(config.accounts + env 取凭证 + 渠道/区域筛选)
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
package accounts_test
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/wangjia/pay/config"
|
||||
"github.com/wangjia/pay/internal/accounts"
|
||||
)
|
||||
|
||||
func TestEnabledForAndCredential(t *testing.T) {
|
||||
t.Setenv("USDT_A1_XPUB", "xpub-abc")
|
||||
reg := accounts.New([]config.AccountConfig{
|
||||
{AccountID: "usdt-a1", Channel: "crypto", Region: "global", Enabled: true, Weight: 1, CredentialEnvPrefix: "USDT_A1"},
|
||||
{AccountID: "usdt-a2", Channel: "crypto", Region: "global", Enabled: false, Weight: 1, CredentialEnvPrefix: "USDT_A2"},
|
||||
{AccountID: "ali-cn1", Channel: "alipay", Region: "cn", Enabled: true, Weight: 1, CredentialEnvPrefix: "ALI_CN1"},
|
||||
})
|
||||
|
||||
got := reg.EnabledFor("crypto", "global")
|
||||
if len(got) != 1 || got[0].AccountID != "usdt-a1" {
|
||||
t.Fatalf("EnabledFor crypto/global = %+v", got)
|
||||
}
|
||||
if reg.Credential("usdt-a1", "XPUB") != "xpub-abc" {
|
||||
t.Fatalf("Credential xpub 取值失败")
|
||||
}
|
||||
if len(reg.EnabledFor("alipay", "global")) != 0 {
|
||||
t.Fatalf("alipay 在 global 应无账户")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user