Path: blob/main/install/installer/pkg/components/public-api-server/networkpolicy_test.go
2501 views
// Copyright (c) 2021 Gitpod GmbH. All rights reserved.1// Licensed under the GNU Affero General Public License (AGPL).2// See License.AGPL.txt in the project root for license information.package public_api_server3package public_api_server45import (6"testing"78"github.com/gitpod-io/gitpod/installer/pkg/common"9"github.com/stretchr/testify/require"10networkingv1 "k8s.io/api/networking/v1"11metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"12"k8s.io/apimachinery/pkg/util/intstr"13)1415func TestNetworkPolicy(t *testing.T) {16objects, err := networkpolicy(renderContextWithPublicAPI(t))17require.NoError(t, err)18require.Len(t, objects, 1)1920policy, ok := objects[0].(*networkingv1.NetworkPolicy)21require.Truef(t, ok, "must cast object to network policy")2223ingress := policy.Spec.Ingress24require.Len(t, ingress, 1, "must have only one ingress rule")2526require.Equal(t, networkingv1.NetworkPolicyIngressRule{27Ports: []networkingv1.NetworkPolicyPort{28{29Protocol: common.TCPProtocol,30Port: &intstr.IntOrString{IntVal: GRPCContainerPort},31},32{33Protocol: common.TCPProtocol,34Port: &intstr.IntOrString{IntVal: HTTPContainerPort},35},36},37From: []networkingv1.NetworkPolicyPeer{38{39PodSelector: &metav1.LabelSelector{40MatchLabels: map[string]string{41"component": common.ProxyComponent,42},43},44},45},46}, ingress[0])47}484950