Files
sendico/api/payments/quotation/internal/service/quotation/quotation_app_test.go

57 lines
1.4 KiB
Go

package quotation
import (
"context"
"net"
"testing"
"github.com/tech/sendico/pkg/api/routers"
quotationv2 "github.com/tech/sendico/pkg/proto/payments/quotation/v2"
"go.uber.org/zap"
"google.golang.org/grpc"
)
func TestQuotationService_RegisterV2Only(t *testing.T) {
svc := NewQuotationService(zap.NewNop(), nil)
router := newGRPCCaptureRouter()
if err := svc.Register(router); err != nil {
t.Fatalf("Register returned error: %v", err)
}
services := router.server.GetServiceInfo()
if _, ok := services[quotationv2.QuotationService_ServiceDesc.ServiceName]; !ok {
t.Fatalf("expected %q service to be registered", quotationv2.QuotationService_ServiceDesc.ServiceName)
}
if len(services) != 1 {
t.Fatalf("expected exactly one registered service, got %d", len(services))
}
}
type grpcCaptureRouter struct {
server *grpc.Server
done chan error
}
func newGRPCCaptureRouter() *grpcCaptureRouter {
return &grpcCaptureRouter{
server: grpc.NewServer(),
done: make(chan error),
}
}
func (r *grpcCaptureRouter) Register(registration routers.GRPCServiceRegistration) error {
registration(r.server)
return nil
}
func (r *grpcCaptureRouter) Start(context.Context) error { return nil }
func (r *grpcCaptureRouter) Finish(context.Context) error { return nil }
func (r *grpcCaptureRouter) Addr() net.Addr { return nil }
func (r *grpcCaptureRouter) Done() <-chan error { return r.done }
var _ routers.GRPC = (*grpcCaptureRouter)(nil)