diff --git a/cmd/options/options_test.go b/cmd/options/options_test.go index 2ee69e0f..c7df5513 100644 --- a/cmd/options/options_test.go +++ b/cmd/options/options_test.go @@ -17,73 +17,43 @@ limitations under the License. package options import ( - "fmt" "os" - "os/exec" "testing" ) -type Options struct { +type options struct { Nodename string - Hostname string HostnameOverride string } // TestSetNodeNameOrDie tests for permutations of nodename, hostname and hostnameoverride func TestSetNodeNameOrDie(t *testing.T) { - options := map[string]struct { - Expected Options + option := map[string]struct { + Expected options ObtainedNodeName string }{ "Check Node and HostnameOverride only": { - Expected: Options{ + Expected: options{ Nodename: "my-node-name", - Hostname: "", HostnameOverride: "override", }, }, "Check Nodename only": { - Expected: Options{ + Expected: options{ Nodename: "my-node-name", - Hostname: "", HostnameOverride: "", }, }, "Check HostnameOverride only": { - Expected: Options{ + Expected: options{ Nodename: "", - Hostname: "", HostnameOverride: "override", }, }, - "Check Hostname only": { - Expected: Options{ + "Check empty": { + Expected: options{ Nodename: "", - Hostname: "my-host-name", - HostnameOverride: "", - }, - }, - "Check Node, host and HostnameOverride only": { - Expected: Options{ - Nodename: "my-node-name", - Hostname: "my-host-name", - HostnameOverride: "override", - }, - }, - - "Check Host and HostnameOverride only": { - Expected: Options{ - Nodename: "", - Hostname: "my-host-name", - HostnameOverride: "override", - }, - }, - - "Check Node and hostname": { - Expected: Options{ - Nodename: "my-node-name", - Hostname: "my-host-name", HostnameOverride: "", }, }, @@ -92,59 +62,39 @@ func TestSetNodeNameOrDie(t *testing.T) { orig_node_name := os.Getenv("NODE_NAME") orig_host_name, err := os.Hostname() if err != nil { - fmt.Println("Unable to get hostname") + t.Errorf("Unable to get hostname") } - for str, opt := range options { - if opt.Expected.Nodename != "" { - err = os.Setenv("NODE_NAME", opt.Expected.Nodename) - if err != nil { - t.Errorf("Unable to set env NODE_NAME") - } - } + for str, opt := range option { - if opt.Expected.Hostname != "" { - // Changing hostname - cmd := exec.Command("hostname", opt.Expected.Hostname) - _, err := cmd.CombinedOutput() - if err != nil { - // If changing hostname requires admin privilege - cmd = exec.Command("sudo", "hostname", opt.Expected.Hostname) - _, err := cmd.CombinedOutput() - if err != nil { - fmt.Println("Unable to change hostname") - return - } - } + // Setting with expected(desired) NODE_NAME env + err = os.Setenv("NODE_NAME", opt.Expected.Nodename) + if err != nil { + t.Errorf("Unable to set env NODE_NAME") } npdObj := NewNodeProblemDetectorOptions() + + // Setting with expected(desired) HostnameOverride npdObj.HostnameOverride = opt.Expected.HostnameOverride + npdObj.SetNodeNameOrDie() opt.ObtainedNodeName = npdObj.NodeName + // Setting back the original node name + err = os.Setenv("NODE_NAME", orig_node_name) + if err != nil { + t.Errorf("Unable to set original : env NODE_NAME") + } + + // Checking for obtained node name if opt.ObtainedNodeName != opt.Expected.HostnameOverride && opt.ObtainedNodeName != opt.Expected.Nodename && - opt.ObtainedNodeName != opt.Expected.Hostname { + opt.ObtainedNodeName != orig_host_name { t.Errorf("Error at : %+v", str) t.Errorf("Wanted: %+v. \nGot: %+v", opt.Expected.Nodename, opt.ObtainedNodeName) } - err = os.Setenv("NODE_NAME", "") - if err != nil { - t.Errorf("Unable to set env NODE_NAME empty") - } - - } - // Setting back the original attributes - err = os.Setenv("NODE_NAME", orig_node_name) - if err != nil { - fmt.Println("Unable to set original : env NODE_NAME") - } - cmd := exec.Command("sudo", "hostname", orig_host_name) - _, err = cmd.CombinedOutput() - if err != nil { - fmt.Println("Unable to set hostname") } }