1// +build windows 2 3package agent 4 5import ( 6 "context" 7 "encoding/json" 8 "testing" 9 "time" 10 11 "github.com/sensu/sensu-go/transport" 12 "github.com/sensu/sensu-go/types" 13 "github.com/stretchr/testify/assert" 14) 15 16func TestEnvVars(t *testing.T) { 17 checkConfig := types.FixtureCheckConfig("check") 18 checkConfig.EnvVars = []string{"FOO=BAR"} 19 request := &types.CheckRequest{Config: checkConfig, Issued: time.Now().Unix()} 20 checkConfig.Stdin = true 21 checkConfig.Command = "set foo" 22 23 config, cleanup := FixtureConfig() 24 defer cleanup() 25 agent, err := NewAgent(config) 26 if err != nil { 27 t.Fatal(err) 28 } 29 ch := make(chan *transport.Message, 1) 30 agent.sendq = ch 31 32 entity := agent.getAgentEntity() 33 agent.executeCheck(context.TODO(), request, entity) 34 msg := <-ch 35 event := &types.Event{} 36 assert.NoError(t, json.Unmarshal(msg.Payload, event)) 37 assert.NotZero(t, event.Timestamp) 38 assert.Equal(t, event.Check.Output, "FOO=BAR\n") 39} 40