kruise-game/pkg/webhook/validating_gss_test.go

62 lines
1.5 KiB
Go

package webhook
import (
gamekruiseiov1alpha1 "github.com/openkruise/kruise-game/apis/v1alpha1"
"github.com/openkruise/kruise-game/cloudprovider"
"github.com/openkruise/kruise-game/cloudprovider/alibabacloud"
"github.com/openkruise/kruise-game/cloudprovider/manager"
"testing"
)
func TestValidatingCreate(t *testing.T) {
tests := []struct {
gss *gamekruiseiov1alpha1.GameServerSet
cpm *manager.ProviderManager
allowed bool
}{
{
gss: &gamekruiseiov1alpha1.GameServerSet{
Spec: gamekruiseiov1alpha1.GameServerSetSpec{
Network: &gamekruiseiov1alpha1.Network{
NetworkConf: []gamekruiseiov1alpha1.NetworkConfParams{
{
Name: "xx",
Value: "xx",
},
},
},
},
},
cpm: &manager.ProviderManager{
CloudProviders: map[string]cloudprovider.CloudProvider{},
},
allowed: false,
},
{
gss: &gamekruiseiov1alpha1.GameServerSet{
Spec: gamekruiseiov1alpha1.GameServerSetSpec{
Network: &gamekruiseiov1alpha1.Network{
NetworkType: "AlibabaCloud-LB",
},
},
},
cpm: &manager.ProviderManager{
CloudProviders: map[string]cloudprovider.CloudProvider{
"AlibabaCloud": func() cloudprovider.CloudProvider {
acp, _ := alibabacloud.NewAlibabaCloudProvider()
return acp
}(),
},
},
allowed: false,
},
}
for i, test := range tests {
actual := validatingCreate(test.gss, test.cpm)
if actual.Allowed != test.allowed {
t.Errorf("%d: expect %v, got %v", i, test.allowed, actual.Allowed)
}
}
}