client pb.ReportsClient
}
func (c *RptClient) SetClient(client pb.ReportsClient) {
c.client = client
}
func (c RptClient) Client() (pb.ReportsClient) {
return c.client
}
func NewRptClient() (*RptClient, error) {
conn, rpcErr := grpc.Dial("internal-api:7777", grpc.WithInsecure())
if rpcErr != nil {
logger.Error(nil, fmt.Sprintf("Failed to fetch reports grpc: %s", rpcErr))
return nil, rpcErr
}
rptClient := pb.NewReportsClient(conn)
c := RptClient{}
c.SetClient(rptClient)
return &c, nil
}
var rptClient, _ = NewRptClient()
В тесте переменную rptClient заменяю на метод который в RptClient структ кладет структу которая реализует фейковые методы интерфейса, который сгенерил прото, так принято в гулаге делать? или чето не то?
pb.Report уже интерфейс, его и генерь
Обсуждают сегодня