Merge pull request #106647 from kidlj/add_unit_tests_for_SetNestedSlice

add unit tests for TestSetNestedStringSlice, TestSetNestedSlice etc.
This commit is contained in:
Kubernetes Prow Robot 2022-01-06 08:57:37 -08:00 committed by GitHub
commit 08efb0bbb3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -165,3 +165,63 @@ func TestNestedFieldCopy(t *testing.T) {
func TestCacheableObject(t *testing.T) {
runtimetesting.CacheableObjectTest(t, UnstructuredJSONScheme)
}
func TestSetNestedStringSlice(t *testing.T) {
obj := map[string]interface{}{
"x": map[string]interface{}{
"y": 1,
"a": "foo",
},
}
err := SetNestedStringSlice(obj, []string{"bar"}, "x", "z")
assert.NoError(t, err)
assert.Len(t, obj["x"], 3)
assert.Len(t, obj["x"].(map[string]interface{})["z"], 1)
assert.Equal(t, obj["x"].(map[string]interface{})["z"].([]interface{})[0], "bar")
}
func TestSetNestedSlice(t *testing.T) {
obj := map[string]interface{}{
"x": map[string]interface{}{
"y": 1,
"a": "foo",
},
}
err := SetNestedSlice(obj, []interface{}{"bar"}, "x", "z")
assert.NoError(t, err)
assert.Len(t, obj["x"], 3)
assert.Len(t, obj["x"].(map[string]interface{})["z"], 1)
assert.Equal(t, obj["x"].(map[string]interface{})["z"].([]interface{})[0], "bar")
}
func TestSetNestedStringMap(t *testing.T) {
obj := map[string]interface{}{
"x": map[string]interface{}{
"y": 1,
"a": "foo",
},
}
err := SetNestedStringMap(obj, map[string]string{"b": "bar"}, "x", "z")
assert.NoError(t, err)
assert.Len(t, obj["x"], 3)
assert.Len(t, obj["x"].(map[string]interface{})["z"], 1)
assert.Equal(t, obj["x"].(map[string]interface{})["z"].(map[string]interface{})["b"], "bar")
}
func TestSetNestedMap(t *testing.T) {
obj := map[string]interface{}{
"x": map[string]interface{}{
"y": 1,
"a": "foo",
},
}
err := SetNestedMap(obj, map[string]interface{}{"b": "bar"}, "x", "z")
assert.NoError(t, err)
assert.Len(t, obj["x"], 3)
assert.Len(t, obj["x"].(map[string]interface{})["z"], 1)
assert.Equal(t, obj["x"].(map[string]interface{})["z"].(map[string]interface{})["b"], "bar")
}