Index: common/tsmon/iface_test.go |
diff --git a/common/tsmon/iface_test.go b/common/tsmon/iface_test.go |
index a7f4884f3f2eeba64908c721d89f122724ad1ab6..186ab4a938419c70d6db55911fdd602d99949181 100644 |
--- a/common/tsmon/iface_test.go |
+++ b/common/tsmon/iface_test.go |
@@ -5,6 +5,8 @@ |
package tsmon |
import ( |
+ "io/ioutil" |
+ "os" |
"testing" |
"golang.org/x/net/context" |
@@ -20,7 +22,10 @@ func TestInitializeFromFlags(t *testing.T) { |
tsmonFlags := NewFlags() |
tsmonFlags.Endpoint = "file://fake/path" |
tsmonFlags.Target.TargetType = target.DeviceType |
- tsmonFlags.Target.SysInfo = &target.SysInfo{Hostname: "test-m4", Region: "test-reg"} |
+ tsmonFlags.Target.SysInfo = &target.SysInfo{ |
+ Hostname: "host-sys", |
+ Region: "region-sys", |
+ } |
tsmonFlags.Flush = FlushManual |
Convey("with autogenerated hostnames", func() { |
@@ -32,7 +37,39 @@ func TestInitializeFromFlags(t *testing.T) { |
s := GetState(c).S |
So(s.DefaultTarget(), ShouldHaveSameTypeAs, (*target.NetworkDevice)(nil)) |
target := s.DefaultTarget().(*target.NetworkDevice).AsProto() |
- So(target.GetHostname(), ShouldEqual, "autogen:test-m4") |
+ So(target.GetHostname(), ShouldEqual, "autogen:host-sys") |
+ So(target.GetMetro(), ShouldEqual, "region-sys") |
+ }) |
+ |
+ Convey("with predefined autogenerated hostnames (Device)", func() { |
+ tsmonFlags.Target.AutoGenHostname = true |
+ tsmonFlags.Target.DeviceHostname = "test-m5" |
+ err := InitializeFromFlags(c, &tsmonFlags) |
+ So(err, ShouldBeNil) |
+ defer Shutdown(c) |
+ |
+ s := GetState(c).S |
+ So(s.DefaultTarget(), ShouldHaveSameTypeAs, (*target.NetworkDevice)(nil)) |
+ target := s.DefaultTarget().(*target.NetworkDevice).AsProto() |
+ So(target.GetHostname(), ShouldEqual, "autogen:test-m5") |
+ So(target.GetMetro(), ShouldEqual, "region-sys") |
+ }) |
+ |
+ Convey("with predefined autogenerated hostnames (Task)", func() { |
+ tsmonFlags.Target.AutoGenHostname = true |
+ tsmonFlags.Target.TaskHostname = "test-m5" |
+ tsmonFlags.Target.TargetType = target.TaskType |
+ tsmonFlags.Target.TaskServiceName = "test-service" |
+ tsmonFlags.Target.TaskJobName = "test-job" |
+ err := InitializeFromFlags(c, &tsmonFlags) |
+ So(err, ShouldBeNil) |
+ defer Shutdown(c) |
+ |
+ s := GetState(c).S |
+ So(s.DefaultTarget(), ShouldHaveSameTypeAs, (*target.Task)(nil)) |
+ target := s.DefaultTarget().(*target.Task).AsProto() |
+ So(target.GetHostName(), ShouldEqual, "autogen:test-m5") |
+ So(target.GetDataCenter(), ShouldEqual, "region-sys") |
}) |
Convey("with static hostnames", func() { |
@@ -43,7 +80,68 @@ func TestInitializeFromFlags(t *testing.T) { |
s := GetState(c).S |
So(s.DefaultTarget(), ShouldHaveSameTypeAs, (*target.NetworkDevice)(nil)) |
target := s.DefaultTarget().(*target.NetworkDevice).AsProto() |
- So(target.GetHostname(), ShouldEqual, "test-m4") |
+ So(target.GetHostname(), ShouldEqual, "host-sys") |
+ So(target.GetMetro(), ShouldEqual, "region-sys") |
+ }) |
+ |
+ Convey("with predefined static hostnames (Device)", func() { |
+ tsmonFlags.Target.DeviceHostname = "host-flag" |
+ tsmonFlags.Target.DeviceRegion = "region-flag" |
+ err := InitializeFromFlags(c, &tsmonFlags) |
+ So(err, ShouldBeNil) |
+ defer Shutdown(c) |
+ |
+ s := GetState(c).S |
+ So(s.DefaultTarget(), ShouldHaveSameTypeAs, (*target.NetworkDevice)(nil)) |
+ target := s.DefaultTarget().(*target.NetworkDevice).AsProto() |
+ So(target.GetHostname(), ShouldEqual, "host-flag") |
+ So(target.GetMetro(), ShouldEqual, "region-flag") |
+ }) |
+ |
+ Convey("with predefined static hostnames (Task)", func() { |
+ tsmonFlags.Target.TaskHostname = "host-flag" |
+ tsmonFlags.Target.TaskRegion = "region-flag" |
+ tsmonFlags.Target.TargetType = target.TaskType |
+ tsmonFlags.Target.TaskServiceName = "test-service" |
+ tsmonFlags.Target.TaskJobName = "test-job" |
+ err := InitializeFromFlags(c, &tsmonFlags) |
+ So(err, ShouldBeNil) |
+ defer Shutdown(c) |
+ |
+ s := GetState(c).S |
+ So(s.DefaultTarget(), ShouldHaveSameTypeAs, (*target.Task)(nil)) |
+ target := s.DefaultTarget().(*target.Task).AsProto() |
+ So(target.GetHostName(), ShouldEqual, "host-flag") |
+ So(target.GetDataCenter(), ShouldEqual, "region-flag") |
+ }) |
+ |
+ Convey("with region in config and hostname in a flag", func() { |
+ tf, err := ioutil.TempFile("", "config_test") |
+ if err != nil { |
+ t.Fail() |
+ } |
+ defer tf.Close() |
+ defer os.Remove(tf.Name()) |
+ |
+ tf.WriteString(` |
+ {"endpoint": "foo", |
+ "credentials": "bar", |
+ "autogen_hostname": true, |
+ "hostname": "host-config", |
+ "region": "region-config" |
+ }`) |
+ tf.Sync() |
+ tsmonFlags.ConfigFile = tf.Name() |
+ tsmonFlags.Target.DeviceHostname = "host-flag" |
+ err = InitializeFromFlags(c, &tsmonFlags) |
+ So(err, ShouldBeNil) |
+ defer Shutdown(c) |
+ |
+ s := GetState(c).S |
+ So(s.DefaultTarget(), ShouldHaveSameTypeAs, (*target.NetworkDevice)(nil)) |
+ target := s.DefaultTarget().(*target.NetworkDevice).AsProto() |
+ So(target.GetHostname(), ShouldEqual, "autogen:host-flag") |
+ So(target.GetMetro(), ShouldEqual, "region-config") |
}) |
}) |