github.com/golang/mock@v1.6.0/mockgen/internal/tests/custom_package_name/greeter/greeter.go (about) 1 package greeter 2 3 //go:generate mockgen -source greeter.go -destination greeter_mock_test.go -package greeter 4 5 import ( 6 // stdlib import 7 "fmt" 8 9 // non-matching import suffix and package name 10 "github.com/golang/mock/mockgen/internal/tests/custom_package_name/client/v1" 11 12 // matching import suffix and package name 13 "github.com/golang/mock/mockgen/internal/tests/custom_package_name/validator" 14 ) 15 16 type InputMaker interface { 17 MakeInput() client.GreetInput 18 } 19 20 type Greeter struct { 21 InputMaker InputMaker 22 Client *client.Client 23 } 24 25 func (g *Greeter) Greet() (string, error) { 26 in := g.InputMaker.MakeInput() 27 if err := validator.Validate(in.Name); err != nil { 28 return "", fmt.Errorf("validation failed: %v", err) 29 } 30 return g.Client.Greet(in), nil 31 }