Skip to content

Commit dae1d59

Browse files
committed
fix(health): treat nil return from Lua health status script as n/a instead of unknown
Signed-off-by: Norwin Schnyder <norwin.schnyder+github@gmail.com>
1 parent 2ccc2ea commit dae1d59

3 files changed

Lines changed: 6 additions & 8 deletions

File tree

util/lua/health_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ type TestStructure struct {
1818
}
1919

2020
type IndividualTest struct {
21-
InputPath string `yaml:"inputPath"`
22-
HealthStatus health.HealthStatus `yaml:"healthStatus"`
21+
InputPath string `yaml:"inputPath"`
22+
HealthStatus *health.HealthStatus `yaml:"healthStatus"`
2323
}
2424

2525
func getObj(t *testing.T, path string) *unstructured.Unstructured {
@@ -56,7 +56,7 @@ func TestLuaHealthScript(t *testing.T) {
5656
require.NoError(t, err)
5757
result, err := vm.ExecuteHealthLua(obj, script)
5858
require.NoError(t, err)
59-
assert.Equal(t, &test.HealthStatus, result)
59+
assert.Equal(t, test.HealthStatus, result)
6060
})
6161
}
6262
return nil

util/lua/lua.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ func (vm VM) ExecuteHealthLua(obj *unstructured.Unstructured, script string) (*h
159159

160160
return healthStatus, nil
161161
} else if returnValue.Type() == lua.LTNil {
162-
return &health.HealthStatus{}, nil
162+
return nil, nil
163163
}
164164
return nil, fmt.Errorf(incorrectReturnType, "table", returnValue.Type().String())
165165
}

util/lua/lua_test.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -148,8 +148,7 @@ func TestNoReturnHealthStatusStatus(t *testing.T) {
148148
vm := VM{}
149149
status, err := vm.ExecuteHealthLua(testObj, validReturnNothingHealthStatusStatus)
150150
require.NoError(t, err)
151-
expectedStatus := &health.HealthStatus{}
152-
assert.Equal(t, expectedStatus, status)
151+
assert.Nil(t, status)
153152
}
154153

155154
const validNilHealthStatusStatus = `local healthStatus = {}
@@ -161,8 +160,7 @@ func TestNilHealthStatusStatus(t *testing.T) {
161160
vm := VM{}
162161
status, err := vm.ExecuteHealthLua(testObj, validNilHealthStatusStatus)
163162
require.NoError(t, err)
164-
expectedStatus := &health.HealthStatus{}
165-
assert.Equal(t, expectedStatus, status)
163+
assert.Nil(t, status)
166164
}
167165

168166
const validEmptyArrayHealthStatusStatus = `local healthStatus = {}

0 commit comments

Comments
 (0)