57 lines
1.4 KiB
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)
|