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  }