github.com/kubeshop/testkube@v1.17.23/internal/graphql/resolvers/test_client.go (about) 1 package resolvers 2 3 import ( 4 "testing" 5 6 "github.com/99designs/gqlgen/client" 7 "github.com/99designs/gqlgen/graphql/handler" 8 "github.com/golang/mock/gomock" 9 10 "github.com/kubeshop/testkube/internal/graphql/gen" 11 "github.com/kubeshop/testkube/internal/graphql/services" 12 ) 13 14 type TestClient struct { 15 ctrl *gomock.Controller 16 Client *client.Client 17 ExecutorsService *services.MockExecutorsService 18 } 19 20 func NewTestClient(t *testing.T) *TestClient { 21 ctrl := gomock.NewController(t) 22 executorsSrv := services.NewMockExecutorsService(ctrl) 23 res := &Resolver{ 24 ExecutorsService: executorsSrv, 25 } 26 return &TestClient{ 27 ctrl: ctrl, 28 Client: client.New(handler.NewDefaultServer(gen.NewExecutableSchema(gen.Config{Resolvers: res}))), 29 ExecutorsService: executorsSrv, 30 } 31 } 32 33 func (t *TestClient) Finish() { 34 t.ctrl.Finish() 35 }