github.com/Jeffail/benthos/v3@v3.65.0/lib/input/inproc_test.go (about) 1 package input_test 2 3 import ( 4 "testing" 5 "time" 6 7 "github.com/Jeffail/benthos/v3/lib/input" 8 "github.com/Jeffail/benthos/v3/lib/log" 9 "github.com/Jeffail/benthos/v3/lib/manager" 10 "github.com/Jeffail/benthos/v3/lib/metrics" 11 "github.com/Jeffail/benthos/v3/lib/types" 12 ) 13 14 //------------------------------------------------------------------------------ 15 16 func TestInprocDryRun(t *testing.T) { 17 t.Parallel() 18 19 mgr, err := manager.New(manager.NewConfig(), nil, log.Noop(), metrics.Noop()) 20 if err != nil { 21 t.Fatal(err) 22 } 23 24 mgr.SetPipe("foo", make(chan types.Transaction)) 25 26 conf := input.NewConfig() 27 conf.Inproc = "foo" 28 29 var ip input.Type 30 if ip, err = input.NewInproc(conf, mgr, log.Noop(), metrics.Noop()); err != nil { 31 t.Fatal(err) 32 } 33 34 <-time.After(time.Millisecond * 100) 35 36 ip.CloseAsync() 37 if err = ip.WaitForClose(time.Second); err != nil { 38 t.Error(err) 39 } 40 } 41 42 func TestInprocDryRunNoConn(t *testing.T) { 43 t.Parallel() 44 45 mgr, err := manager.New(manager.NewConfig(), nil, log.Noop(), metrics.Noop()) 46 if err != nil { 47 t.Fatal(err) 48 } 49 50 conf := input.NewConfig() 51 conf.Inproc = "foo" 52 53 var ip input.Type 54 if ip, err = input.NewInproc(conf, mgr, log.Noop(), metrics.Noop()); err != nil { 55 t.Fatal(err) 56 } 57 58 <-time.After(time.Millisecond * 100) 59 60 ip.CloseAsync() 61 if err = ip.WaitForClose(time.Second); err != nil { 62 t.Error(err) 63 } 64 } 65 66 //------------------------------------------------------------------------------