@@ -70,11 +70,13 @@ func TestNetworkBuilder_BuildTaskNetworkConfiguration(t *testing.T) {
7070
7171func TestNetworkBuilder_Start (t * testing.T ) {
7272 t .Run ("awsvpc" , testNetworkBuilder_StartAWSVPC )
73+ t .Run ("daemon-bridge" , testNetworkBuilder_StartDaemonBridge )
7374}
7475
7576// TestNetworkBuilder_Stop verifies stop workflow for AWSVPC mode.
7677func TestNetworkBuilder_Stop (t * testing.T ) {
7778 t .Run ("awsvpc" , testNetworkBuilder_StopAWSVPC )
79+ t .Run ("daemon-bridge" , testNetworkBuilder_StopDaemonBridge )
7880}
7981
8082// getTestFunc returns a test function that verifies the capability of the networkBuilder
@@ -380,3 +382,65 @@ func getExpectedCalls_StopAWSVPC(
380382 platformAPI .EXPECT ().DeleteDNSConfig (netNS .Name ).Return (nil ).Times (1 ),
381383 platformAPI .EXPECT ().DeleteNetNS (netNS .Path ).Return (nil ).Times (1 ))
382384}
385+
386+ // testNetworkBuilder_StartDaemonBridge verifies that the expected platform API calls
387+ // are made by the network builder for daemon-bridge network mode.
388+ func testNetworkBuilder_StartDaemonBridge (t * testing.T ) {
389+ ctrl := gomock .NewController (t )
390+ defer ctrl .Finish ()
391+
392+ ctx := context .TODO ()
393+ platformAPI := mock_platform .NewMockAPI (ctrl )
394+ metricsFactory := mock_metrics .NewMockEntryFactory (ctrl )
395+ mockEntry := mock_metrics .NewMockEntry (ctrl )
396+ netBuilder := & networkBuilder {
397+ platformAPI : platformAPI ,
398+ metricsFactory : metricsFactory ,
399+ }
400+
401+ netNS := & tasknetworkconfig.NetworkNamespace {
402+ Name : "daemon-test" ,
403+ Path : "/var/run/netns/daemon-test" ,
404+ }
405+
406+ gomock .InOrder (
407+ metricsFactory .EXPECT ().New (metrics .BuildNetworkNamespaceMetricName ).Return (mockEntry ).Times (1 ),
408+ mockEntry .EXPECT ().WithFields (gomock .Any ()).Return (mockEntry ).Times (1 ),
409+ platformAPI .EXPECT ().ConfigureDaemonNetNS (netNS ).Return (nil ).Times (1 ),
410+ mockEntry .EXPECT ().Done (nil ).Times (1 ),
411+ )
412+
413+ err := netBuilder .Start (ctx , "daemon-bridge" , taskID , netNS )
414+ require .NoError (t , err )
415+ }
416+
417+ // testNetworkBuilder_StopDaemonBridge verifies that the expected platform API calls
418+ // are made by the network builder for stopping daemon-bridge network mode.
419+ func testNetworkBuilder_StopDaemonBridge (t * testing.T ) {
420+ ctrl := gomock .NewController (t )
421+ defer ctrl .Finish ()
422+
423+ ctx := context .TODO ()
424+ platformAPI := mock_platform .NewMockAPI (ctrl )
425+ metricsFactory := mock_metrics .NewMockEntryFactory (ctrl )
426+ mockEntry := mock_metrics .NewMockEntry (ctrl )
427+ netBuilder := & networkBuilder {
428+ platformAPI : platformAPI ,
429+ metricsFactory : metricsFactory ,
430+ }
431+
432+ netNS := & tasknetworkconfig.NetworkNamespace {
433+ Name : "daemon-test" ,
434+ Path : "/var/run/netns/daemon-test" ,
435+ }
436+
437+ gomock .InOrder (
438+ metricsFactory .EXPECT ().New (metrics .DeleteNetworkNamespaceMetricName ).Return (mockEntry ).Times (1 ),
439+ mockEntry .EXPECT ().WithFields (gomock .Any ()).Return (mockEntry ).Times (1 ),
440+ platformAPI .EXPECT ().StopDaemonNetNS (ctx , netNS ).Return (nil ).Times (1 ),
441+ mockEntry .EXPECT ().Done (nil ).Times (1 ),
442+ )
443+
444+ err := netBuilder .Stop (ctx , "daemon-bridge" , taskID , netNS )
445+ require .NoError (t , err )
446+ }
0 commit comments