Skip to content

Commit 5d81d55

Browse files
authored
Fix bug where reporting network policies from a namespace without any policies could cause an error (#289)
1 parent 5f225b5 commit 5d81d55

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

src/mapper/pkg/networkpolicyreport/network_policies_reconciler.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ func (r *NetworkPolicyReconciler) Reconcile(ctx context.Context, req ctrl.Reques
5252
}
5353

5454
func (r *NetworkPolicyReconciler) convertToNetworkPolicyInputs(netpols []networkingv1.NetworkPolicy) ([]cloudclient.NetworkPolicyInput, error) {
55-
var netpolsToReport []cloudclient.NetworkPolicyInput
55+
netpolsToReport := make([]cloudclient.NetworkPolicyInput, 0)
5656
for _, netpol := range netpols {
5757
netpolToReport, err := r.convertToNetworkPolicyInput(netpol)
5858
if err != nil {

src/mapper/pkg/networkpolicyreport/network_policy_reconciler_test.go

+10
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,16 @@ func (s *NetworkPolicyReconcilerTestSuite) TestNetworkPolicyUpload() {
8282
s.True(res.IsZero())
8383
}
8484

85+
func (s *NetworkPolicyReconcilerTestSuite) TestNetworkPolicyUpload_EmptyNamespace() {
86+
emptyList := networkingv1.NetworkPolicyList{}
87+
s.k8sClient.EXPECT().List(gomock.Any(), gomock.Eq(&emptyList), gomock.Eq(client.InNamespace("test-namespace"))).Return(nil)
88+
s.cloudClient.EXPECT().ReportNetworkPolicies(gomock.Any(), "test-namespace", gomock.Eq(make([]cloudclient.NetworkPolicyInput, 0))).Return(nil)
89+
90+
res, err := s.reconciler.Reconcile(context.Background(), ctrl.Request{NamespacedName: types.NamespacedName{Name: "test-networkpolicy", Namespace: "test-namespace"}})
91+
s.NoError(err)
92+
s.True(res.IsZero())
93+
}
94+
8595
func TestNetworkPolicyReconcilerTestSuite(t *testing.T) {
8696
suite.Run(t, new(NetworkPolicyReconcilerTestSuite))
8797
}

0 commit comments

Comments
 (0)