github.com/micro/go-micro/v2@v2.9.1/web/web_test.go (about)

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