github.com/gobuffalo/buffalo-cli/v2@v2.0.0-alpha.15.0.20200919213536-a7350c8e6799/cli/cmds/test/ifaces_test.go (about)

     1  package test
     2  
     3  import (
     4  	"context"
     5  	"os/exec"
     6  )
     7  
     8  var _ Tester = &tester{}
     9  
    10  type tester struct {
    11  	name string
    12  	args []string
    13  	err  error
    14  }
    15  
    16  func (b *tester) PluginName() string {
    17  	if len(b.name) == 0 {
    18  		return "tester"
    19  	}
    20  	return b.name
    21  }
    22  
    23  func (b *tester) Test(ctx context.Context, root string, args []string) error {
    24  	b.args = args
    25  	return b.err
    26  }
    27  
    28  var _ BeforeTester = &beforeTester{}
    29  
    30  type beforeTester struct {
    31  	name string
    32  	args []string
    33  	err  error
    34  }
    35  
    36  func (b *beforeTester) PluginName() string {
    37  	if len(b.name) == 0 {
    38  		return "beforeTester"
    39  	}
    40  	return b.name
    41  }
    42  
    43  func (b *beforeTester) BeforeTest(ctx context.Context, root string, args []string) error {
    44  	b.args = args
    45  	return b.err
    46  }
    47  
    48  var _ AfterTester = &afterTester{}
    49  
    50  type afterTester struct {
    51  	name string
    52  	args []string
    53  	err  error
    54  }
    55  
    56  func (b *afterTester) PluginName() string {
    57  	if len(b.name) == 0 {
    58  		return "afterTester"
    59  	}
    60  	return b.name
    61  }
    62  
    63  func (b *afterTester) AfterTest(ctx context.Context, root string, args []string, err error) error {
    64  	b.args = args
    65  	b.err = err
    66  	return err
    67  }
    68  
    69  var _ Argumenter = &tagger{}
    70  
    71  type tagger struct {
    72  	root string
    73  	tags []string
    74  	err  error
    75  }
    76  
    77  func (tagger) PluginName() string {
    78  	return "tagger"
    79  }
    80  
    81  func (b *tagger) TestArgs(ctx context.Context, root string) ([]string, error) {
    82  	b.root = root
    83  	return b.tags, b.err
    84  }
    85  
    86  var _ Runner = &bladeRunner{}
    87  
    88  type bladeRunner struct {
    89  	cmd *exec.Cmd
    90  	err error
    91  }
    92  
    93  func (bladeRunner) PluginName() string {
    94  	return "blade"
    95  }
    96  
    97  func (b *bladeRunner) RunTests(ctx context.Context, root string, cmd *exec.Cmd) error {
    98  	b.cmd = cmd
    99  	return b.err
   100  }