@@ -94,7 +94,7 @@ func TestCmdAdd(t *testing.T) {
94
94
mockC := mock_rpc .NewMockCNIBackendClient (ctrl )
95
95
mocksRPC .EXPECT ().NewCNIBackendClient (conn ).Return (mockC )
96
96
97
- addNetworkReply := & rpc.AddNetworkReply {Success : true , IPv4Addr : ipAddr , DeviceNumber : devNum }
97
+ addNetworkReply := & rpc.AddNetworkReply {Success : true , IPv4Addr : ipAddr , DeviceNumber : devNum , NetworkPolicyMode : "none" }
98
98
mockC .EXPECT ().AddNetwork (gomock .Any (), gomock .Any ()).Return (addNetworkReply , nil )
99
99
100
100
v4Addr := & net.IPNet {
@@ -110,6 +110,92 @@ func TestCmdAdd(t *testing.T) {
110
110
assert .Nil (t , err )
111
111
}
112
112
113
+ func TestCmdAddWithNPenabled (t * testing.T ) {
114
+ ctrl , mocksTypes , mocksGRPC , mocksRPC , mocksNetwork := setup (t )
115
+ defer ctrl .Finish ()
116
+
117
+ stdinData , _ := json .Marshal (netConf )
118
+
119
+ cmdArgs := & skel.CmdArgs {ContainerID : containerID ,
120
+ Netns : netNS ,
121
+ IfName : ifName ,
122
+ StdinData : stdinData }
123
+
124
+ mocksTypes .EXPECT ().LoadArgs (gomock .Any (), gomock .Any ()).Return (nil )
125
+
126
+ conn , _ := grpc .Dial (ipamdAddress , grpc .WithInsecure ())
127
+
128
+ mocksGRPC .EXPECT ().Dial (gomock .Any (), gomock .Any ()).Return (conn , nil )
129
+ mockC := mock_rpc .NewMockCNIBackendClient (ctrl )
130
+ mocksRPC .EXPECT ().NewCNIBackendClient (conn ).Return (mockC )
131
+
132
+ npConn , _ := grpc .Dial (npAgentAddress , grpc .WithInsecure ())
133
+
134
+ mocksGRPC .EXPECT ().Dial (gomock .Any (), gomock .Any ()).Return (npConn , nil )
135
+ mockNP := mock_rpc .NewMockNPBackendClient (ctrl )
136
+ mocksRPC .EXPECT ().NewNPBackendClient (npConn ).Return (mockNP )
137
+
138
+ addNetworkReply := & rpc.AddNetworkReply {Success : true , IPv4Addr : ipAddr , DeviceNumber : devNum , NetworkPolicyMode : "strict" }
139
+ mockC .EXPECT ().AddNetwork (gomock .Any (), gomock .Any ()).Return (addNetworkReply , nil )
140
+
141
+ enforceNpReply := & rpc.EnforceNpReply {Success : true }
142
+ mockNP .EXPECT ().EnforceNpToPod (gomock .Any (), gomock .Any ()).Return (enforceNpReply , nil )
143
+
144
+ v4Addr := & net.IPNet {
145
+ IP : net .ParseIP (addNetworkReply .IPv4Addr ),
146
+ Mask : net .IPv4Mask (255 , 255 , 255 , 255 ),
147
+ }
148
+ mocksNetwork .EXPECT ().SetupPodNetwork (gomock .Any (), cmdArgs .IfName , cmdArgs .Netns ,
149
+ v4Addr , nil , int (addNetworkReply .DeviceNumber ), gomock .Any (), gomock .Any ()).Return (nil )
150
+
151
+ mocksTypes .EXPECT ().PrintResult (gomock .Any (), gomock .Any ()).Return (nil )
152
+
153
+ err := add (cmdArgs , mocksTypes , mocksGRPC , mocksRPC , mocksNetwork )
154
+ assert .Nil (t , err )
155
+ }
156
+
157
+ func TestCmdAddWithNPenabledWithErr (t * testing.T ) {
158
+ ctrl , mocksTypes , mocksGRPC , mocksRPC , mocksNetwork := setup (t )
159
+ defer ctrl .Finish ()
160
+
161
+ stdinData , _ := json .Marshal (netConf )
162
+
163
+ cmdArgs := & skel.CmdArgs {ContainerID : containerID ,
164
+ Netns : netNS ,
165
+ IfName : ifName ,
166
+ StdinData : stdinData }
167
+
168
+ mocksTypes .EXPECT ().LoadArgs (gomock .Any (), gomock .Any ()).Return (nil )
169
+
170
+ conn , _ := grpc .Dial (ipamdAddress , grpc .WithInsecure ())
171
+
172
+ mocksGRPC .EXPECT ().Dial (gomock .Any (), gomock .Any ()).Return (conn , nil )
173
+ mockC := mock_rpc .NewMockCNIBackendClient (ctrl )
174
+ mocksRPC .EXPECT ().NewCNIBackendClient (conn ).Return (mockC )
175
+
176
+ npConn , _ := grpc .Dial (npAgentAddress , grpc .WithInsecure ())
177
+
178
+ mocksGRPC .EXPECT ().Dial (gomock .Any (), gomock .Any ()).Return (npConn , nil )
179
+ mockNP := mock_rpc .NewMockNPBackendClient (ctrl )
180
+ mocksRPC .EXPECT ().NewNPBackendClient (npConn ).Return (mockNP )
181
+
182
+ addNetworkReply := & rpc.AddNetworkReply {Success : true , IPv4Addr : ipAddr , DeviceNumber : devNum , NetworkPolicyMode : "strict" }
183
+ mockC .EXPECT ().AddNetwork (gomock .Any (), gomock .Any ()).Return (addNetworkReply , nil )
184
+
185
+ enforceNpReply := & rpc.EnforceNpReply {Success : false }
186
+ mockNP .EXPECT ().EnforceNpToPod (gomock .Any (), gomock .Any ()).Return (enforceNpReply , errors .New ("Error on EnforceNpReply" ))
187
+
188
+ v4Addr := & net.IPNet {
189
+ IP : net .ParseIP (addNetworkReply .IPv4Addr ),
190
+ Mask : net .IPv4Mask (255 , 255 , 255 , 255 ),
191
+ }
192
+ mocksNetwork .EXPECT ().SetupPodNetwork (gomock .Any (), cmdArgs .IfName , cmdArgs .Netns ,
193
+ v4Addr , nil , int (addNetworkReply .DeviceNumber ), gomock .Any (), gomock .Any ()).Return (nil )
194
+
195
+ err := add (cmdArgs , mocksTypes , mocksGRPC , mocksRPC , mocksNetwork )
196
+ assert .Error (t , err )
197
+ }
198
+
113
199
func TestCmdAddNetworkErr (t * testing.T ) {
114
200
ctrl , mocksTypes , mocksGRPC , mocksRPC , mocksNetwork := setup (t )
115
201
defer ctrl .Finish ()
@@ -129,7 +215,7 @@ func TestCmdAddNetworkErr(t *testing.T) {
129
215
mockC := mock_rpc .NewMockCNIBackendClient (ctrl )
130
216
mocksRPC .EXPECT ().NewCNIBackendClient (conn ).Return (mockC )
131
217
132
- addNetworkReply := & rpc.AddNetworkReply {Success : false , IPv4Addr : ipAddr , DeviceNumber : devNum }
218
+ addNetworkReply := & rpc.AddNetworkReply {Success : false , IPv4Addr : ipAddr , DeviceNumber : devNum , NetworkPolicyMode : "none" }
133
219
mockC .EXPECT ().AddNetwork (gomock .Any (), gomock .Any ()).Return (addNetworkReply , errors .New ("Error on AddNetworkReply" ))
134
220
135
221
err := add (cmdArgs , mocksTypes , mocksGRPC , mocksRPC , mocksNetwork )
@@ -156,7 +242,7 @@ func TestCmdAddErrSetupPodNetwork(t *testing.T) {
156
242
mockC := mock_rpc .NewMockCNIBackendClient (ctrl )
157
243
mocksRPC .EXPECT ().NewCNIBackendClient (conn ).Return (mockC )
158
244
159
- addNetworkReply := & rpc.AddNetworkReply {Success : true , IPv4Addr : ipAddr , DeviceNumber : devNum }
245
+ addNetworkReply := & rpc.AddNetworkReply {Success : true , IPv4Addr : ipAddr , DeviceNumber : devNum , NetworkPolicyMode : "none" }
160
246
mockC .EXPECT ().AddNetwork (gomock .Any (), gomock .Any ()).Return (addNetworkReply , nil )
161
247
162
248
addr := & net.IPNet {
@@ -292,7 +378,7 @@ func TestCmdAddForPodENINetwork(t *testing.T) {
292
378
mocksRPC .EXPECT ().NewCNIBackendClient (conn ).Return (mockC )
293
379
294
380
addNetworkReply := & rpc.AddNetworkReply {Success : true , IPv4Addr : ipAddr , PodENISubnetGW : "10.0.0.1" , PodVlanId : 1 ,
295
- PodENIMAC : "eniHardwareAddr" , ParentIfIndex : 2 }
381
+ PodENIMAC : "eniHardwareAddr" , ParentIfIndex : 2 , NetworkPolicyMode : "none" }
296
382
mockC .EXPECT ().AddNetwork (gomock .Any (), gomock .Any ()).Return (addNetworkReply , nil )
297
383
298
384
addr := & net.IPNet {
0 commit comments