@@ -17,73 +17,43 @@ limitations under the License.
17
17
package options
18
18
19
19
import (
20
- "fmt"
21
20
"os"
22
- "os/exec"
23
21
"testing"
24
22
)
25
23
26
- type Options struct {
24
+ type options struct {
27
25
Nodename string
28
- Hostname string
29
26
HostnameOverride string
30
27
}
31
28
32
29
// TestSetNodeNameOrDie tests for permutations of nodename, hostname and hostnameoverride
33
30
func TestSetNodeNameOrDie (t * testing.T ) {
34
- options := map [string ]struct {
35
- Expected Options
31
+ option := map [string ]struct {
32
+ Expected options
36
33
ObtainedNodeName string
37
34
}{
38
35
"Check Node and HostnameOverride only" : {
39
- Expected : Options {
36
+ Expected : options {
40
37
Nodename : "my-node-name" ,
41
- Hostname : "" ,
42
38
HostnameOverride : "override" ,
43
39
},
44
40
},
45
41
"Check Nodename only" : {
46
- Expected : Options {
42
+ Expected : options {
47
43
Nodename : "my-node-name" ,
48
- Hostname : "" ,
49
44
HostnameOverride : "" ,
50
45
},
51
46
},
52
47
53
48
"Check HostnameOverride only" : {
54
- Expected : Options {
49
+ Expected : options {
55
50
Nodename : "" ,
56
- Hostname : "" ,
57
51
HostnameOverride : "override" ,
58
52
},
59
53
},
60
- "Check Hostname only " : {
61
- Expected : Options {
54
+ "Check empty " : {
55
+ Expected : options {
62
56
Nodename : "" ,
63
- Hostname : "my-host-name" ,
64
- HostnameOverride : "" ,
65
- },
66
- },
67
- "Check Node, host and HostnameOverride only" : {
68
- Expected : Options {
69
- Nodename : "my-node-name" ,
70
- Hostname : "my-host-name" ,
71
- HostnameOverride : "override" ,
72
- },
73
- },
74
-
75
- "Check Host and HostnameOverride only" : {
76
- Expected : Options {
77
- Nodename : "" ,
78
- Hostname : "my-host-name" ,
79
- HostnameOverride : "override" ,
80
- },
81
- },
82
-
83
- "Check Node and hostname" : {
84
- Expected : Options {
85
- Nodename : "my-node-name" ,
86
- Hostname : "my-host-name" ,
87
57
HostnameOverride : "" ,
88
58
},
89
59
},
@@ -92,59 +62,39 @@ func TestSetNodeNameOrDie(t *testing.T) {
92
62
orig_node_name := os .Getenv ("NODE_NAME" )
93
63
orig_host_name , err := os .Hostname ()
94
64
if err != nil {
95
- fmt . Println ("Unable to get hostname" )
65
+ t . Errorf ("Unable to get hostname" )
96
66
}
97
67
98
- for str , opt := range options {
99
- if opt .Expected .Nodename != "" {
100
- err = os .Setenv ("NODE_NAME" , opt .Expected .Nodename )
101
- if err != nil {
102
- t .Errorf ("Unable to set env NODE_NAME" )
103
- }
104
- }
68
+ for str , opt := range option {
105
69
106
- if opt .Expected .Hostname != "" {
107
- // Changing hostname
108
- cmd := exec .Command ("hostname" , opt .Expected .Hostname )
109
- _ , err := cmd .CombinedOutput ()
110
- if err != nil {
111
- // If changing hostname requires admin privilege
112
- cmd = exec .Command ("sudo" , "hostname" , opt .Expected .Hostname )
113
- _ , err := cmd .CombinedOutput ()
114
- if err != nil {
115
- fmt .Println ("Unable to change hostname" )
116
- return
117
- }
118
- }
70
+ // Setting with expected(desired) NODE_NAME env
71
+ err = os .Setenv ("NODE_NAME" , opt .Expected .Nodename )
72
+ if err != nil {
73
+ t .Errorf ("Unable to set env NODE_NAME" )
119
74
}
120
75
121
76
npdObj := NewNodeProblemDetectorOptions ()
77
+
78
+ // Setting with expected(desired) HostnameOverride
122
79
npdObj .HostnameOverride = opt .Expected .HostnameOverride
80
+
123
81
npdObj .SetNodeNameOrDie ()
124
82
opt .ObtainedNodeName = npdObj .NodeName
125
83
84
+ // Setting back the original node name
85
+ err = os .Setenv ("NODE_NAME" , orig_node_name )
86
+ if err != nil {
87
+ t .Errorf ("Unable to set original : env NODE_NAME" )
88
+ }
89
+
90
+ // Checking for obtained node name
126
91
if opt .ObtainedNodeName != opt .Expected .HostnameOverride &&
127
92
opt .ObtainedNodeName != opt .Expected .Nodename &&
128
- opt .ObtainedNodeName != opt . Expected . Hostname {
93
+ opt .ObtainedNodeName != orig_host_name {
129
94
t .Errorf ("Error at : %+v" , str )
130
95
t .Errorf ("Wanted: %+v. \n Got: %+v" , opt .Expected .Nodename , opt .ObtainedNodeName )
131
96
}
132
97
133
- err = os .Setenv ("NODE_NAME" , "" )
134
- if err != nil {
135
- t .Errorf ("Unable to set env NODE_NAME empty" )
136
- }
137
-
138
- }
139
- // Setting back the original attributes
140
- err = os .Setenv ("NODE_NAME" , orig_node_name )
141
- if err != nil {
142
- fmt .Println ("Unable to set original : env NODE_NAME" )
143
- }
144
- cmd := exec .Command ("sudo" , "hostname" , orig_host_name )
145
- _ , err = cmd .CombinedOutput ()
146
- if err != nil {
147
- fmt .Println ("Unable to set hostname" )
148
98
}
149
99
150
100
}
0 commit comments