-
Notifications
You must be signed in to change notification settings - Fork 22
/
Copy pathdecode_test.go
38 lines (32 loc) · 916 Bytes
/
decode_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package provider_test
import (
"testing"
"github.com/mitchellh/mapstructure"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/coder/terraform-provider-coder/v2/provider"
)
func TestDecode(t *testing.T) {
const displayName = "Display Name"
aMap := map[string]interface{}{
"name": "Parameter Name",
"type": "number",
"display_name": displayName,
"validation": []map[string]interface{}{
{
"min": nil,
"min_disabled": false,
"max": 5,
"max_disabled": true,
},
},
}
var param provider.Parameter
err := mapstructure.Decode(aMap, ¶m)
require.NoError(t, err)
assert.Equal(t, displayName, param.DisplayName)
assert.Equal(t, 5, param.Validation[0].Max)
assert.True(t, param.Validation[0].MaxDisabled)
assert.Equal(t, 0, param.Validation[0].Min)
assert.False(t, param.Validation[0].MinDisabled)
}