go-micro.dev/v5@v5.12.0/web/web_test.go (about) 1 package web_test 2 3 import ( 4 "context" 5 "sync" 6 "testing" 7 "time" 8 9 "github.com/urfave/cli/v2" 10 "go-micro.dev/v5" 11 "go-micro.dev/v5/logger" 12 "go-micro.dev/v5/web" 13 ) 14 15 func TestWeb(t *testing.T) { 16 for i := 0; i < 10; i++ { 17 testFunc() 18 } 19 } 20 21 func testFunc() { 22 ctx, cancel := context.WithTimeout(context.Background(), time.Millisecond*250) 23 defer cancel() 24 25 service := micro.NewService( 26 micro.Name("test"), 27 micro.Context(ctx), 28 micro.HandleSignal(false), 29 micro.Flags( 30 &cli.StringFlag{ 31 Name: "test.timeout", 32 }, 33 &cli.BoolFlag{ 34 Name: "test.v", 35 }, 36 &cli.StringFlag{ 37 Name: "test.run", 38 }, 39 &cli.StringFlag{ 40 Name: "test.testlogfile", 41 }, 42 ), 43 ) 44 w := web.NewService( 45 web.MicroService(service), 46 web.Context(ctx), 47 web.HandleSignal(false), 48 ) 49 // s.Init() 50 // w.Init() 51 52 var wg sync.WaitGroup 53 wg.Add(2) 54 go func() { 55 defer wg.Done() 56 err := service.Run() 57 if err != nil { 58 logger.Logf(logger.ErrorLevel, "micro run error: %v", err) 59 } 60 }() 61 go func() { 62 defer wg.Done() 63 err := w.Run() 64 if err != nil { 65 logger.Logf(logger.ErrorLevel, "web run error: %v", err) 66 } 67 }() 68 69 wg.Wait() 70 }