Skip to content

Commit

Permalink
Add mockgen to CI
Browse files Browse the repository at this point in the history
  • Loading branch information
saturn4er committed Feb 11, 2019
1 parent 87777cc commit 90082eb
Show file tree
Hide file tree
Showing 5 changed files with 229 additions and 27 deletions.
2 changes: 2 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ install:
- go get github.com/mattn/goveralls
- go get github.com/golang/dep/cmd/dep
- go get github.com/saturn4er/go-swagger/cmd/swagger
- go get github.com/golang/mock/gomock
- go install github.com/golang/mock/mockgen
- go get -u -d github.com/golang/protobuf/protoc-gen-go && cd ${GOPATH}/src/github.com/golang/protobuf/protoc-gen-go && git checkout v1.2.0 && go install && cd ${TRAVIS_BUILD_DIR}
- dep ensure -vendor-only
- curl -L https://github.com/google/protobuf/releases/download/v3.6.1/protoc-3.6.1-linux-x86_64.zip -o /tmp/protoc.zip
Expand Down
17 changes: 9 additions & 8 deletions Gopkg.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

199 changes: 199 additions & 0 deletions example/out/github.com/golang/protobuf/ptypes/wrappers/wrappers.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,199 @@
// This file was generated by github.com/EGT-Ukraine/go2gql. DO NOT EDIT IT
package wrappers

import (
context "context"

scalars "github.com/EGT-Ukraine/go2gql/api/scalars"
wrappers "github.com/golang/protobuf/ptypes/wrappers"
graphql "github.com/graphql-go/graphql"
)

// Enums
// Input object
var DoubleValueInput = graphql.NewInputObject(graphql.InputObjectConfig{
Name: "DoubleValueInput",
Fields: graphql.InputObjectConfigFieldMap{},
})

func init() {
DoubleValueInput.AddFieldConfig("value", &graphql.InputObjectFieldConfig{Type: scalars.GraphQLFloat64Scalar, Description: "The double value."})
}

var FloatValueInput = graphql.NewInputObject(graphql.InputObjectConfig{
Name: "FloatValueInput",
Fields: graphql.InputObjectConfigFieldMap{},
})

func init() {
FloatValueInput.AddFieldConfig("value", &graphql.InputObjectFieldConfig{Type: scalars.GraphQLFloat32Scalar, Description: "The float value."})
}

var Int64ValueInput = graphql.NewInputObject(graphql.InputObjectConfig{
Name: "Int64ValueInput",
Fields: graphql.InputObjectConfigFieldMap{},
})

func init() {
Int64ValueInput.AddFieldConfig("value", &graphql.InputObjectFieldConfig{Type: scalars.GraphQLInt64Scalar, Description: "The int64 value."})
}

var UInt64ValueInput = graphql.NewInputObject(graphql.InputObjectConfig{
Name: "UInt64ValueInput",
Fields: graphql.InputObjectConfigFieldMap{},
})

func init() {
UInt64ValueInput.AddFieldConfig("value", &graphql.InputObjectFieldConfig{Type: scalars.GraphQLUInt64Scalar, Description: "The uint64 value."})
}

var Int32ValueInput = graphql.NewInputObject(graphql.InputObjectConfig{
Name: "Int32ValueInput",
Fields: graphql.InputObjectConfigFieldMap{},
})

func init() {
Int32ValueInput.AddFieldConfig("value", &graphql.InputObjectFieldConfig{Type: scalars.GraphQLInt32Scalar, Description: "The int32 value."})
}

var UInt32ValueInput = graphql.NewInputObject(graphql.InputObjectConfig{
Name: "UInt32ValueInput",
Fields: graphql.InputObjectConfigFieldMap{},
})

func init() {
UInt32ValueInput.AddFieldConfig("value", &graphql.InputObjectFieldConfig{Type: scalars.GraphQLUInt32Scalar, Description: "The uint32 value."})
}

var BoolValueInput = graphql.NewInputObject(graphql.InputObjectConfig{
Name: "BoolValueInput",
Fields: graphql.InputObjectConfigFieldMap{},
})

func init() {
BoolValueInput.AddFieldConfig("value", &graphql.InputObjectFieldConfig{Type: graphql.Boolean, Description: "The bool value."})
}

var StringValueInput = graphql.NewInputObject(graphql.InputObjectConfig{
Name: "StringValueInput",
Fields: graphql.InputObjectConfigFieldMap{},
})

func init() {
StringValueInput.AddFieldConfig("value", &graphql.InputObjectFieldConfig{Type: graphql.String, Description: "The string value."})
}

var BytesValueInput = graphql.NewInputObject(graphql.InputObjectConfig{
Name: "BytesValueInput",
Fields: graphql.InputObjectConfigFieldMap{},
})

func init() {
BytesValueInput.AddFieldConfig("value", &graphql.InputObjectFieldConfig{Type: scalars.GraphQLBytesScalar, Description: "The bytes value."})
}

// Input objects resolvers
func ResolveDoubleValueInput(ctx context.Context, i interface{}) (_ *wrappers.DoubleValue, rerr error) {
if i == nil {
return nil, nil
}
args, _ := i.(map[string]interface{})
_ = args
var result = new(wrappers.DoubleValue)
result.Value = i.(float64)

return result, nil
}
func ResolveFloatValueInput(ctx context.Context, i interface{}) (_ *wrappers.FloatValue, rerr error) {
if i == nil {
return nil, nil
}
args, _ := i.(map[string]interface{})
_ = args
var result = new(wrappers.FloatValue)
result.Value = i.(float32)

return result, nil
}
func ResolveInt64ValueInput(ctx context.Context, i interface{}) (_ *wrappers.Int64Value, rerr error) {
if i == nil {
return nil, nil
}
args, _ := i.(map[string]interface{})
_ = args
var result = new(wrappers.Int64Value)
result.Value = i.(int64)

return result, nil
}
func ResolveUInt64ValueInput(ctx context.Context, i interface{}) (_ *wrappers.UInt64Value, rerr error) {
if i == nil {
return nil, nil
}
args, _ := i.(map[string]interface{})
_ = args
var result = new(wrappers.UInt64Value)
result.Value = i.(uint64)

return result, nil
}
func ResolveInt32ValueInput(ctx context.Context, i interface{}) (_ *wrappers.Int32Value, rerr error) {
if i == nil {
return nil, nil
}
args, _ := i.(map[string]interface{})
_ = args
var result = new(wrappers.Int32Value)
result.Value = i.(int32)

return result, nil
}
func ResolveUInt32ValueInput(ctx context.Context, i interface{}) (_ *wrappers.UInt32Value, rerr error) {
if i == nil {
return nil, nil
}
args, _ := i.(map[string]interface{})
_ = args
var result = new(wrappers.UInt32Value)
result.Value = i.(uint32)

return result, nil
}
func ResolveBoolValueInput(ctx context.Context, i interface{}) (_ *wrappers.BoolValue, rerr error) {
if i == nil {
return nil, nil
}
args, _ := i.(map[string]interface{})
_ = args
var result = new(wrappers.BoolValue)
result.Value = i.(bool)

return result, nil
}
func ResolveStringValueInput(ctx context.Context, i interface{}) (_ *wrappers.StringValue, rerr error) {
if i == nil {
return nil, nil
}
args, _ := i.(map[string]interface{})
_ = args
var result = new(wrappers.StringValue)
result.Value = i.(string)

return result, nil
}
func ResolveBytesValueInput(ctx context.Context, i interface{}) (_ *wrappers.BytesValue, rerr error) {
if i == nil {
return nil, nil
}
args, _ := i.(map[string]interface{})
_ = args
var result = new(wrappers.BytesValue)
result.Value = i.([]byte)

return result, nil
}

// Output objects
// Maps input objects
// Maps input objects resolvers
// Maps output objects
34 changes: 17 additions & 17 deletions example/out/loaders/loaders.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ type LoaderClients interface {
}

type DataLoaders struct {
SomeEntitiesByAIDLoader ListSomeEntitiesResponse_SomeEntitySliceLoader
SomeEntitiesByIDLoader ListSomeEntitiesResponse_SomeEntityLoader
SomeEntitiesByAIDLoader ListSomeEntitiesResponse_SomeEntitySliceLoader
}

type dataLoadersContextKeyType struct{}
Expand All @@ -21,25 +21,26 @@ var dataLoadersContextKey = dataLoadersContextKeyType{}

func GetContextWithLoaders(ctx context.Context, apiClients LoaderClients) context.Context {
dataLoaders := &DataLoaders{
SomeEntitiesByAIDLoader: createSomeEntitiesByAID(ctx, apiClients.GetServiceExampleClient()),
SomeEntitiesByIDLoader: createSomeEntitiesByID(ctx, apiClients.GetServiceExampleClient()),
SomeEntitiesByAIDLoader: createSomeEntitiesByAID(ctx, apiClients.GetServiceExampleClient()),
}

return context.WithValue(ctx, dataLoadersContextKey, dataLoaders)
}

func createSomeEntitiesByAID(ctx context.Context, client proto.ServiceExampleClient) ListSomeEntitiesResponse_SomeEntitySliceLoader {
return ListSomeEntitiesResponse_SomeEntitySliceLoader{
fetch: func(keys []string) ([][]*proto.ListSomeEntitiesResponse_SomeEntity, []error) {
response, err := client.ListSomeEntities(ctx, &proto.ListSomeEntitiesRequest{Filter: &proto.ListSomeEntitiesRequest_Filter{AIds: keys}})
func createSomeEntitiesByID(ctx context.Context, client proto.ServiceExampleClient) ListSomeEntitiesResponse_SomeEntityLoader {
return ListSomeEntitiesResponse_SomeEntityLoader{
fetch: func(keys []string) ([]*proto.ListSomeEntitiesResponse_SomeEntity, []error) {
response, err := client.ListSomeEntities(ctx, &proto.ListSomeEntitiesRequest{Filter: &proto.ListSomeEntitiesRequest_Filter{Ids: keys}})
if err != nil {
return nil, []error{err}
}
var result = make([][]*proto.ListSomeEntitiesResponse_SomeEntity, len(keys))
var result = make([]*proto.ListSomeEntitiesResponse_SomeEntity, len(keys))
for i, key := range keys {
for _, value := range response.Entities {
if value.AId == key {
result[i] = append(result[i], value)
if value.Id == key {
result[i] = value
break
}
}
}
Expand All @@ -49,19 +50,18 @@ func createSomeEntitiesByAID(ctx context.Context, client proto.ServiceExampleCli
wait: 10000000,
}
}
func createSomeEntitiesByID(ctx context.Context, client proto.ServiceExampleClient) ListSomeEntitiesResponse_SomeEntityLoader {
return ListSomeEntitiesResponse_SomeEntityLoader{
fetch: func(keys []string) ([]*proto.ListSomeEntitiesResponse_SomeEntity, []error) {
response, err := client.ListSomeEntities(ctx, &proto.ListSomeEntitiesRequest{Filter: &proto.ListSomeEntitiesRequest_Filter{Ids: keys}})
func createSomeEntitiesByAID(ctx context.Context, client proto.ServiceExampleClient) ListSomeEntitiesResponse_SomeEntitySliceLoader {
return ListSomeEntitiesResponse_SomeEntitySliceLoader{
fetch: func(keys []string) ([][]*proto.ListSomeEntitiesResponse_SomeEntity, []error) {
response, err := client.ListSomeEntities(ctx, &proto.ListSomeEntitiesRequest{Filter: &proto.ListSomeEntitiesRequest_Filter{AIds: keys}})
if err != nil {
return nil, []error{err}
}
var result = make([]*proto.ListSomeEntitiesResponse_SomeEntity, len(keys))
var result = make([][]*proto.ListSomeEntitiesResponse_SomeEntity, len(keys))
for i, key := range keys {
for _, value := range response.Entities {
if value.Id == key {
result[i] = value
break
if value.AId == key {
result[i] = append(result[i], value)
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions tests/protounwrap/Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
dataloader_tests:
rm -rf generated/*
mkdir -p generated/clients
mockgen -destination=mock/item.go -package=mock github.com/EGT-Ukraine/go2gql/tests/protounwrap/generated/clients/apis ItemsServiceClient
protoc --go_out=paths=source_relative,plugins=grpc:generated/clients apis/items.proto

mockgen -destination=mock/item.go -package=mock github.com/EGT-Ukraine/go2gql/tests/protounwrap/generated/clients/apis ItemsServiceClient
go run ../../cmd/go2gql/main.go ../../cmd/go2gql/basic_plugins.go

0 comments on commit 90082eb

Please sign in to comment.