generated from VLADIMIR/template
58 lines
1.4 KiB
Go
58 lines
1.4 KiB
Go
package tests
|
|
|
|
import (
|
|
"context"
|
|
"log"
|
|
"testing"
|
|
"time"
|
|
|
|
"evening_detective/internal/config"
|
|
"evening_detective/internal/services"
|
|
pb "evening_detective/proto"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"google.golang.org/grpc"
|
|
)
|
|
|
|
func getClient() (pb.EveningDetectiveClient, func() error) {
|
|
conn, err := grpc.Dial("localhost:8080", grpc.WithInsecure())
|
|
if err != nil {
|
|
log.Fatalf("Не удалось подключиться к серверу: %v", err)
|
|
}
|
|
return pb.NewEveningDetectiveClient(conn), conn.Close
|
|
}
|
|
|
|
func getContext() (context.Context, context.CancelFunc) {
|
|
return context.WithTimeout(context.Background(), time.Second)
|
|
}
|
|
|
|
func deleteTeams(t *testing.T) {
|
|
dbFilepath := config.GetDBFilepath()
|
|
repository, err := services.NewRepository(dbFilepath)
|
|
if err != nil {
|
|
assert.Nil(t, err, "подключение к базе")
|
|
}
|
|
defer repository.Close()
|
|
|
|
err = repository.DeleteAllTeams(context.Background())
|
|
assert.Nil(t, err, "команды удалены")
|
|
}
|
|
|
|
func createTeam(client pb.EveningDetectiveClient, name string) (*pb.AddTeamsRsp, error) {
|
|
ctx, cancel := getContext()
|
|
defer cancel()
|
|
req := &pb.AddTeamsReq{
|
|
Teams: []*pb.Team{
|
|
{Name: name},
|
|
},
|
|
}
|
|
return client.AddTeams(ctx, req)
|
|
}
|
|
|
|
func getTeams(client pb.EveningDetectiveClient) (*pb.GetTeamsRsp, error) {
|
|
ctx, cancel := getContext()
|
|
defer cancel()
|
|
req := &pb.GetTeamsReq{}
|
|
return client.GetTeams(ctx, req)
|
|
}
|