@@ -1302,6 +1302,70 @@ func TestNmAgentSupportedApisHandler(t *testing.T) {
13021302fmt .Printf ("nmAgentSupportedApisHandler Responded with %+v\n " , nmAgentSupportedApisResponse )
13031303}
13041304
1305+ func  TestNMAgentNCListHandler (t  * testing.T ) {
1306+ fmt .Println ("Test: nmAgentNCListHandler" )
1307+ 
1308+ setEnv (t )
1309+ errSetOrch  :=  setOrchestratorType (t , cns .Kubernetes )
1310+ if  errSetOrch  !=  nil  {
1311+ t .Fatalf ("TestNMAgentNCListHandler failed with error:%+v" , errSetOrch )
1312+ }
1313+ 
1314+ mnma  :=  & fakes.NMAgentClientFake {}
1315+ cleanupNMA  :=  setMockNMAgent (svc , mnma )
1316+ defer  cleanupNMA ()
1317+ 
1318+ wsproxy  :=  fakes.WireserverProxyFake {}
1319+ cleanupWSP  :=  setWireserverProxy (svc , & wsproxy )
1320+ defer  cleanupWSP ()
1321+ 
1322+ params  :=  createOrUpdateNetworkContainerParams {
1323+ ncID : "f47ac10b-58cc-0372-8567-0e02b2c3d475" , // random guid 
1324+ ncIP : "11.0.0.5" ,
1325+ ncType : cns .AzureContainerInstance ,
1326+ ncVersion : "0" ,
1327+ vnetID : "vnet1" ,
1328+ podName : "testpod" ,
1329+ podNamespace : "testpodnamespace" ,
1330+ }
1331+ 
1332+ err  :=  createNC (params )
1333+ if  err  !=  nil  {
1334+ t .Fatal ("error creating NC: err:" , err )
1335+ }
1336+ 
1337+ mnma .GetNCVersionListF  =  func (_  context.Context ) (nmagent.NCVersionList , error ) {
1338+ return  nmagent.NCVersionList {
1339+ Containers : []nmagent.NCVersion {
1340+ {
1341+ // Must set it as params.ncID without cns.SwiftPrefix to mock real nmagent nc format. 
1342+ NetworkContainerID : params .ncID ,
1343+ Version : params .ncVersion ,
1344+ },
1345+ },
1346+ }, nil 
1347+ }
1348+ 
1349+ // test CNS' new GET /ncList API 
1350+ var  req  * http.Request 
1351+ req , err  =  http .NewRequestWithContext (context .TODO (), http .MethodGet , cns .NMAgentGetNCListAPIPath , http .NoBody )
1352+ if  err  !=  nil  {
1353+ t .Fatal (err )
1354+ }
1355+ 
1356+ w  :=  httptest .NewRecorder ()
1357+ mux .ServeHTTP (w , req )
1358+ var  nmAgentNCListResponse  cns.NCListResponse 
1359+ 
1360+ err  =  decodeResponse (w , & nmAgentNCListResponse )
1361+ if  err  !=  nil  ||  nmAgentNCListResponse .Response .ReturnCode  !=  0  {
1362+ t .Errorf ("nmAgentNCListHandler failed with response %+v" , nmAgentNCListResponse )
1363+ }
1364+ 
1365+ fmt .Printf ("nmAgentNCListHandler responded with %+v\n " , nmAgentNCListResponse )
1366+ require .Equal (t , params .ncID , nmAgentNCListResponse .NCList [0 ])
1367+ }
1368+ 
13051369// Testing GetHomeAz API handler, return UnsupportedVerb if http method is not supported 
13061370func  TestGetHomeAz_UnsupportedHttpMethod (t  * testing.T ) {
13071371req , err  :=  http .NewRequestWithContext (context .TODO (), http .MethodPost , cns .GetHomeAz , http .NoBody )
0 commit comments