mirror of
https://github.com/bpg/terraform-provider-proxmox.git
synced 2025-06-30 18:42:58 +00:00
75 lines
1.8 KiB
Go
75 lines
1.8 KiB
Go
package utils
|
|
|
|
import (
|
|
"reflect"
|
|
"testing"
|
|
)
|
|
|
|
func TestOrderedListFromMap(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
inputMap := map[string]interface{}{
|
|
"value1": map[string]interface{}{"name": "resource1", "attr": "value1"},
|
|
"value3": map[string]interface{}{"name": "resource3", "attr": "value3"},
|
|
"value2": map[string]interface{}{"name": "resource2", "attr": "value2"},
|
|
}
|
|
|
|
expected := []interface{}{
|
|
map[string]interface{}{"name": "resource1", "attr": "value1"},
|
|
map[string]interface{}{"name": "resource2", "attr": "value2"},
|
|
map[string]interface{}{"name": "resource3", "attr": "value3"},
|
|
}
|
|
|
|
result := OrderedListFromMap(inputMap)
|
|
|
|
if !reflect.DeepEqual(result, expected) {
|
|
t.Errorf("ListResourcesAttributeValue() = %v, want %v", result, expected)
|
|
}
|
|
}
|
|
|
|
func TestMapResourceList(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
resourceList := []interface{}{
|
|
map[string]interface{}{"name": "resource1", "attr": "value1"},
|
|
map[string]interface{}{"name": "resource2", "attr": "value2"},
|
|
nil,
|
|
map[string]interface{}{"name": "resource3", "attr": "value3"},
|
|
map[string]interface{}{"name": "resource4", "attr": "value4"},
|
|
}
|
|
|
|
expected := []string{
|
|
"value1",
|
|
"value2",
|
|
"value3",
|
|
"value4",
|
|
}
|
|
|
|
result := ListResourcesAttributeValue(resourceList, "attr")
|
|
|
|
if !reflect.DeepEqual(result, expected) {
|
|
t.Errorf("ListResourcesAttributeValue() = %v, want %v", result, expected)
|
|
}
|
|
}
|
|
|
|
func TestOrderedListFromMapByKeyValues(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
inputMap := map[string]interface{}{
|
|
"key1": "value1",
|
|
"key2": "value2",
|
|
"key3": "value3",
|
|
"key4": "value4",
|
|
}
|
|
|
|
keyList := []string{"key2", "key1", "key4"}
|
|
|
|
expected := []interface{}{"value2", "value1", "value4"}
|
|
|
|
result := OrderedListFromMapByKeyValues(inputMap, keyList)
|
|
|
|
if !reflect.DeepEqual(result, expected) {
|
|
t.Errorf("OrderedListFromMapByKeyValues() = %v, want %v", result, expected)
|
|
}
|
|
}
|