github.com/tickoalcantara12/micro/v3@v3.0.0-20221007104245-9d75b9bcbab9/test/rpc_test.go (about) 1 //go:build integration 2 // +build integration 3 4 package test 5 6 import ( 7 "errors" 8 "fmt" 9 "strings" 10 "testing" 11 "time" 12 ) 13 14 func Testroutes(t *testing.T) { 15 TrySuite(t, testroutes, retryCount) 16 } 17 18 func testroutes(t *T) { 19 t.Parallel() 20 serv := NewServer(t, WithLogin()) 21 defer serv.Close() 22 if err := serv.Run(); err != nil { 23 return 24 } 25 26 cmd := serv.Command() 27 outp, err := cmd.Exec("run", "--image", "localhost:5000/cells:v3", "./services/test/routes/routes-server") 28 if err != nil { 29 t.Fatalf("micro run failure, output: %v", string(outp)) 30 return 31 } 32 33 if err := Try("Find routes-server in runtime", t, func() ([]byte, error) { 34 outp, err := cmd.Exec("status") 35 if err != nil { 36 return outp, err 37 } 38 if !statusRunning("routes-server", "latest", outp) { 39 return outp, errors.New("Can't find routes-server in runtime") 40 } 41 return nil, nil 42 }, 120*time.Second); err != nil { 43 return 44 } 45 46 if err := Try("Find routes service in registry", t, func() ([]byte, error) { 47 outp, err := cmd.Exec("services") 48 if err != nil { 49 return outp, err 50 } 51 if !strings.Contains(string(outp), "routes") { 52 return outp, errors.New("Can't find routes service in registry") 53 } 54 return nil, nil 55 }, 120*time.Second); err != nil { 56 return 57 } 58 59 outp, err = cmd.Exec("run", "--image", "localhost:5000/cells:v3", "./services/test/routes/routes-client") 60 if err != nil { 61 t.Fatalf("micro run failure, output: %v", string(outp)) 62 return 63 } 64 65 if err := Try("Find routes-client in runtime", t, func() ([]byte, error) { 66 outp, err := cmd.Exec("status") 67 if err != nil { 68 return outp, err 69 } 70 if !statusRunning("routes-client", "latest", outp) { 71 return outp, errors.New("Can't find routes-client in runtime") 72 } 73 return nil, nil 74 }, 60*time.Second); err != nil { 75 return 76 } 77 78 if err := Try("Check logs", t, func() ([]byte, error) { 79 outp, err := cmd.Exec("logs", "routes-client") 80 if err != nil { 81 return nil, err 82 } 83 if !strings.Contains(string(outp), "Client completed ok") { 84 return outp, fmt.Errorf("Client did not complete ok") 85 } 86 return nil, nil 87 }, 120*time.Second); err != nil { 88 return 89 } 90 }