Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(27)

Unified Diff: common/tsmon/iface_test.go

Issue 2225933003: tsmon: read hostname and region from config file (Closed) Base URL: https://chromium.googlesource.com/external/github.com/luci/luci-go@master
Patch Set: Fixed error in test Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « common/tsmon/iface.go ('k') | common/tsmon/target/flags.go » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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")
})
})
« no previous file with comments | « common/tsmon/iface.go ('k') | common/tsmon/target/flags.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698