mirror of
https://github.com/edgelesssys/constellation.git
synced 2024-12-27 08:29:33 -05:00
49 lines
1001 B
Go
49 lines
1001 B
Go
|
package cloudprovider
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
|
||
|
"github.com/edgelesssys/constellation/coordinator/core"
|
||
|
"github.com/edgelesssys/constellation/coordinator/role"
|
||
|
"github.com/stretchr/testify/assert"
|
||
|
)
|
||
|
|
||
|
func TestExtractRole(t *testing.T) {
|
||
|
testCases := map[string]struct {
|
||
|
metadata map[string]string
|
||
|
expectedRole role.Role
|
||
|
}{
|
||
|
"coordinator role": {
|
||
|
metadata: map[string]string{
|
||
|
core.RoleMetadataKey: role.Coordinator.String(),
|
||
|
},
|
||
|
expectedRole: role.Coordinator,
|
||
|
},
|
||
|
"node role": {
|
||
|
metadata: map[string]string{
|
||
|
core.RoleMetadataKey: role.Node.String(),
|
||
|
},
|
||
|
expectedRole: role.Node,
|
||
|
},
|
||
|
"unknown role": {
|
||
|
metadata: map[string]string{
|
||
|
core.RoleMetadataKey: "some-unknown-role",
|
||
|
},
|
||
|
expectedRole: role.Unknown,
|
||
|
},
|
||
|
"no role": {
|
||
|
expectedRole: role.Unknown,
|
||
|
},
|
||
|
}
|
||
|
|
||
|
for name, tc := range testCases {
|
||
|
t.Run(name, func(t *testing.T) {
|
||
|
assert := assert.New(t)
|
||
|
|
||
|
role := ExtractRole(tc.metadata)
|
||
|
|
||
|
assert.Equal(tc.expectedRole, role)
|
||
|
})
|
||
|
}
|
||
|
}
|