add unit tests for TestSetNestedStringSlice, TestSetNestedSlice etc.
This commit is contained in:
		| @@ -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") | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Jian Li
					Jian Li