38 lines
1.4 KiB
Go
38 lines
1.4 KiB
Go
package grpc_test
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
userv1 "hyapp/api/proto/user/v1"
|
|
"hyapp/pkg/xerr"
|
|
authservice "hyapp/services/user-service/internal/service/auth"
|
|
userservice "hyapp/services/user-service/internal/service/user"
|
|
"hyapp/services/user-service/internal/storage/memory"
|
|
grpcserver "hyapp/services/user-service/internal/transport/grpc"
|
|
)
|
|
|
|
// TestLoginPasswordErrorCarriesReason 验证 transport 层把领域错误转换为 ErrorInfo.reason。
|
|
func TestLoginPasswordErrorCarriesReason(t *testing.T) {
|
|
server := grpcserver.NewServer(authservice.New(authservice.Config{}), userservice.New(memory.NewRepository()))
|
|
|
|
_, err := server.LoginPassword(context.Background(), &userv1.LoginPasswordRequest{
|
|
Meta: &userv1.RequestMeta{DeviceId: "ios"},
|
|
})
|
|
if got := xerr.ReasonFromGRPC(err); got != xerr.InvalidArgument {
|
|
t.Fatalf("reason mismatch: got %s", got)
|
|
}
|
|
}
|
|
|
|
// TestResolveDisplayUserIDErrorCarriesReason 验证短号接口也使用 gRPC ErrorInfo.reason。
|
|
func TestResolveDisplayUserIDErrorCarriesReason(t *testing.T) {
|
|
server := grpcserver.NewServer(authservice.New(authservice.Config{}), userservice.New(memory.NewRepository()))
|
|
|
|
_, err := server.ResolveDisplayUserID(context.Background(), &userv1.ResolveDisplayUserIDRequest{
|
|
DisplayUserId: "bad",
|
|
})
|
|
if got := xerr.ReasonFromGRPC(err); got != xerr.DisplayUserIDInvalid {
|
|
t.Fatalf("reason mismatch: got %s", got)
|
|
}
|
|
}
|