45 lines
675 B
Go
45 lines
675 B
Go
package agent
|
|
|
|
import (
|
|
"bytes"
|
|
"io"
|
|
"os"
|
|
"testing"
|
|
)
|
|
|
|
func captureOutput(f func()) string {
|
|
old := os.Stdout
|
|
r, w, _ := os.Pipe()
|
|
os.Stdout = w
|
|
f()
|
|
w.Close()
|
|
os.Stdout = old
|
|
|
|
var buf bytes.Buffer
|
|
io.Copy(&buf, r)
|
|
return buf.String()
|
|
}
|
|
|
|
func TestShowStatus(t *testing.T) {
|
|
var (
|
|
version = "2.0.4"
|
|
)
|
|
|
|
output := captureOutput(func() {
|
|
ShowStatus(version)
|
|
})
|
|
|
|
if output != (version + "\n") {
|
|
t.Errorf("ShowStatus output not equal to version defined.")
|
|
}
|
|
}
|
|
|
|
func TestOsString(t *testing.T) {
|
|
a := New(lg, version)
|
|
osString := a.osString()
|
|
if osString == "" {
|
|
t.Errorf("Could not get OS String")
|
|
} else {
|
|
t.Logf("Got OS String: %s", osString)
|
|
}
|
|
} |