Add CORS policy test

This commit is contained in:
stefanprodan 2019-03-06 15:34:51 +02:00
parent 9adc0698bb
commit 5fc69134e3
2 changed files with 39 additions and 1 deletions

View File

@ -192,7 +192,6 @@ func TestIstioRouter_HTTPRequestHeaders(t *testing.T) {
t.Fatal(err.Error())
}
// test insert
vs, err := mocks.istioClient.NetworkingV1alpha3().VirtualServices("default").Get("podinfo", metav1.GetOptions{})
if err != nil {
t.Fatal(err.Error())
@ -207,3 +206,36 @@ func TestIstioRouter_HTTPRequestHeaders(t *testing.T) {
t.Errorf("Got timeout %v wanted %v", timeout, "15000")
}
}
func TestIstioRouter_CORS(t *testing.T) {
mocks := setupfakeClients()
router := &IstioRouter{
logger: mocks.logger,
flaggerClient: mocks.flaggerClient,
istioClient: mocks.istioClient,
kubeClient: mocks.kubeClient,
}
err := router.Sync(mocks.canary)
if err != nil {
t.Fatal(err.Error())
}
vs, err := mocks.istioClient.NetworkingV1alpha3().VirtualServices("default").Get("podinfo", metav1.GetOptions{})
if err != nil {
t.Fatal(err.Error())
}
if len(vs.Spec.Http) != 1 {
t.Fatalf("Got HTTPRoute %v wanted %v", len(vs.Spec.Http), 1)
}
if vs.Spec.Http[0].CorsPolicy == nil {
t.Fatal("Got not CORS policy")
}
methods := vs.Spec.Http[0].CorsPolicy.AllowMethods
if len(methods) != 2 {
t.Fatalf("Got CORS allow methods %v wanted %v", len(methods), 2)
}
}

View File

@ -65,6 +65,12 @@ func newMockCanary() *v1alpha3.Canary {
},
},
},
CorsPolicy: &istiov1alpha3.CorsPolicy{
AllowMethods: []string{
"GET",
"POST",
},
},
}, CanaryAnalysis: v1alpha3.CanaryAnalysis{
Threshold: 10,
StepWeight: 10,