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  }