更新依赖和调整目录结构,未修改模块
This commit is contained in:
53
pkgs/ecmall/internal/config/config_test.go
Normal file
53
pkgs/ecmall/internal/config/config_test.go
Normal file
@@ -0,0 +1,53 @@
|
||||
package config
|
||||
|
||||
import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
"sort"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"go.yaml.in/yaml/v3"
|
||||
)
|
||||
|
||||
// ecmallServices is the aggregate registry of pkgs/ecmall. Keep it in sync with
|
||||
// the services table in internal/service.
|
||||
var ecmallServices = []string{"address", "ads", "cms", "feedback", "fts", "initial", "logs", "mgt", "mall", "market", "order", "passport", "sender", "wallet"}
|
||||
|
||||
func TestEcmallDevConfig(t *testing.T) {
|
||||
data, err := os.ReadFile(filepath.Join("..", "..", "etc", "default_dev.yaml"))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
var cfg SrvConfig
|
||||
if err := yaml.Unmarshal(data, &cfg); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if len(cfg.Services) == 0 {
|
||||
t.Fatal("services must not be empty")
|
||||
}
|
||||
if cfg.Server.GRPC.Port == "" || cfg.Server.HTTP.Port == "" || cfg.Server.GRPC.Port == cfg.Server.HTTP.Port {
|
||||
t.Fatal("separate gRPC and HTTP ports are required")
|
||||
}
|
||||
if cfg.Authorization.Key == "" || cfg.Authorization.Expire <= 0 {
|
||||
t.Fatal("authorization key and expiration are required")
|
||||
}
|
||||
keyLength := len(cfg.Authorization.Key)
|
||||
if keyLength != 16 && keyLength != 24 && keyLength != 32 {
|
||||
t.Fatal("authorization key must be compatible with the JWT issuer")
|
||||
}
|
||||
if cfg.Fts == nil || cfg.Mgt == nil || cfg.Passport == nil || cfg.Sender == nil || cfg.Wallet == nil {
|
||||
t.Fatal("service-specific configuration is incomplete")
|
||||
}
|
||||
|
||||
enabled := make([]string, 0, len(cfg.Services))
|
||||
for _, service := range cfg.Services {
|
||||
enabled = append(enabled, strings.ToLower(strings.TrimSpace(service)))
|
||||
}
|
||||
sort.Strings(enabled)
|
||||
expected := append([]string(nil), ecmallServices...)
|
||||
sort.Strings(expected)
|
||||
if strings.Join(enabled, ",") != strings.Join(expected, ",") {
|
||||
t.Fatalf("ecmall must only enable %v, got %v", expected, enabled)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user