github.com/magnusbaeck/logstash-filter-verifier/v2@v2.0.0-pre.1/logstash/env_test.go (about)

     1  // Copyright (c) 2016 Magnus Bäck <magnus@noun.se>
     2  
     3  package logstash
     4  
     5  import (
     6  	"reflect"
     7  	"testing"
     8  )
     9  
    10  func TestGetLimitedEnvironment(t *testing.T) {
    11  	cases := []struct {
    12  		original []string
    13  		kept     []string
    14  		expected []string
    15  	}{
    16  		// Only TZ=UTC set if there are no keepers.
    17  		{
    18  			[]string{
    19  				"A=B",
    20  				"C=D",
    21  			},
    22  			[]string{},
    23  			[]string{
    24  				"TZ=UTC",
    25  			},
    26  		},
    27  		// Original variables can be kept.
    28  		{
    29  			[]string{
    30  				"A=B",
    31  				"C=D",
    32  			},
    33  			[]string{
    34  				"A",
    35  			},
    36  			[]string{
    37  				"A=B",
    38  				"TZ=UTC",
    39  			},
    40  		},
    41  		// Multiple original variables
    42  		{
    43  			[]string{
    44  				"A=B",
    45  				"C=D",
    46  				"E=F",
    47  			},
    48  			[]string{
    49  				"A",
    50  				"E",
    51  			},
    52  			[]string{
    53  				"A=B",
    54  				"E=F",
    55  				"TZ=UTC",
    56  			},
    57  		},
    58  		// TZ can be overridden.
    59  		{
    60  			[]string{
    61  				"TZ=Europe/Stockholm",
    62  			},
    63  			[]string{
    64  				"TZ",
    65  			},
    66  			[]string{
    67  				"TZ=Europe/Stockholm",
    68  			},
    69  		},
    70  		// Listing a keeper that isn't set is okay.
    71  		{
    72  			[]string{
    73  				"A=B",
    74  			},
    75  			[]string{
    76  				"UNDEFINED_KEEPER",
    77  			},
    78  			[]string{
    79  				"TZ=UTC",
    80  			},
    81  		},
    82  	}
    83  	for i, c := range cases {
    84  		actual := getLimitedEnvironment(c.original, c.kept)
    85  		if !reflect.DeepEqual(c.expected, actual) {
    86  			t.Errorf("Test %d:\nExpected:\n%#v\nGot:\n%#v", i, c.expected, actual)
    87  		}
    88  	}
    89  }