0
0
mirror of https://github.com/bpg/terraform-provider-proxmox.git synced 2025-06-30 18:42:58 +00:00
terraform-provider-proxmox/utils/maps_test.go
Pavel Boldyrev 3180f81b4a
fix(vm): yet another fix for disk reordering (#1297)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-05-15 02:31:41 +00:00

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)
}
}