github.com/tickoalcantara12/micro/v3@v3.0.0-20221007104245-9d75b9bcbab9/test/env_test.go (about) 1 //go:build integration 2 // +build integration 3 4 package test 5 6 import ( 7 "os/exec" 8 "strings" 9 "testing" 10 ) 11 12 func TestEnvBasic(t *testing.T) { 13 TrySuite(t, testEnvOverrides, retryCount) 14 } 15 16 func testEnvBasic(t *T) { 17 outp, err := exec.Command("micro", "-env=platform", "env").CombinedOutput() 18 if err != nil { 19 t.Fatal(err) 20 return 21 } 22 if !strings.Contains(string(outp), "platform") || 23 !strings.Contains(string(outp), "server") || 24 !strings.Contains(string(outp), "local") { 25 t.Fatal("Env output lacks local, server, or platform") 26 return 27 } 28 29 } 30 31 func TestEnvOverrides(t *testing.T) { 32 TrySuite(t, testEnvOverrides, retryCount) 33 } 34 35 func testEnvOverrides(t *T) { 36 outp, err := exec.Command("micro", "-env=platform", "env").CombinedOutput() 37 if err != nil { 38 t.Fatal(err) 39 return 40 } 41 if !strings.Contains(string(outp), "* platform") { 42 t.Fatal("Env platform is not selected") 43 return 44 } 45 46 outp, err = exec.Command("micro", "-e=platform", "env").CombinedOutput() 47 if err != nil { 48 t.Fatal(err) 49 return 50 } 51 if !strings.Contains(string(outp), "* platform") { 52 t.Fatal("Env platform is not selected") 53 return 54 } 55 } 56 57 func TestEnvOps(t *testing.T) { 58 TrySuite(t, testEnvOps, retryCount) 59 } 60 61 func testEnvOps(t *T) { 62 // add an env 63 _, err := exec.Command("micro", "env", "add", "fooTestEnvOps", "127.0.0.1:8081").CombinedOutput() 64 if err != nil { 65 t.Fatalf("Error running micro env %s", err) 66 return 67 } 68 outp, err := exec.Command("micro", "env").CombinedOutput() 69 if err != nil { 70 t.Fatalf("Error running micro env %s", err) 71 return 72 } 73 if !strings.Contains(string(outp), "fooTestEnvOps") { 74 t.Fatalf("Cannot find expected environment. Output %s", outp) 75 return 76 } 77 78 // can we actually set it correctly 79 _, err = exec.Command("micro", "env", "set", "fooTestEnvOps").CombinedOutput() 80 if err != nil { 81 t.Fatalf("Error running micro env %s", err) 82 return 83 } 84 outp, err = exec.Command("micro", "env").CombinedOutput() 85 if err != nil { 86 t.Fatalf("Error running micro env %s", err) 87 return 88 } 89 if !strings.Contains(string(outp), "* fooTestEnvOps") { 90 t.Fatalf("Environment not set. Output %s", outp) 91 return 92 } 93 94 _, err = exec.Command("micro", "env", "set", "local").CombinedOutput() 95 if err != nil { 96 t.Fatalf("Error running micro env %s", err) 97 return 98 } 99 100 // we should be able to delete it too 101 _, err = exec.Command("micro", "env", "del", "fooTestEnvOps").CombinedOutput() 102 if err != nil { 103 t.Fatalf("Error running micro env %s", err) 104 return 105 } 106 107 outp, err = exec.Command("micro", "env").CombinedOutput() 108 if err != nil { 109 t.Fatalf("Error running micro env %s", err) 110 return 111 } 112 if strings.Contains(string(outp), "fooTestEnvOps") { 113 t.Fatalf("Found unexpected environment. Output %s", outp) 114 return 115 } 116 117 }