@@ -384,75 +384,100 @@ def test_provider_gateway_actions_with_client_api(self):
384
384
385
385
################## Direct Link Provider Gateways with Client API MD5 Auth ############################
386
386
387
- # Commenting the test key till Key Protect instance is ready in INT environment
388
- # def test_provider_gateway_actions_with_client_api_md5(self):
389
- # timestamp = time.time()
390
- # name = os.getenv("DL_PROVIDER_SERVICES_GW_NAME") + "-" + str(int(timestamp))
391
- # bgpAsn = 64999
392
- # customerAccount = os.getenv("DL_PROVIDER_SERVICES_CUSTOMER_ACCT_ID")
393
- # speedMbps = 1000
394
- # authenticationKeyCRN = os.getenv("DL_SERVICES_AUTHENTICATION_KEY")
395
- # authenticationKey = GatewayActionTemplateAuthenticationKey(authenticationKeyCRN)
396
-
397
- # """ successfully get a provider port id """
398
- # response = self.dl_provider.list_provider_ports()
399
- # assert response is not None
400
-
401
- # port_id = response.get_result().get("ports")[0].get("id")
402
- # port = ProviderGatewayPortIdentity(id=port_id)
403
-
404
- # #created provider gateway
405
- # response = self.dl_provider.create_provider_gateway(bgp_asn=bgpAsn,
406
- # customer_account_id=customerAccount,
407
- # name=name,
408
- # port=port,
409
- # speed_mbps=speedMbps)
410
- # assert response is not None
411
- # assert response.get_status_code() == 201
412
- # gateway_id = response.get_result().get("id")
413
-
414
- # #verfiy client account can see the provider created gateway
415
- # response = self.dl.get_gateway(id=gateway_id)
416
- # assert response is not None
417
- # assert response.get_status_code() == 200
418
- # assert response.get_result().get("id") == gateway_id
419
- # assert response.get_result().get("name") == name
420
- # assert response.get_result().get("speed_mbps") == speedMbps
421
- # assert response.get_result().get("provider_api_managed") == True
422
- # assert response.get_result().get("operational_status") == "create_pending"
423
- # assert response.get_result().get("type") == "connect"
424
- # assert "change_request" in response.get_result()
425
-
426
- # #successfully approve the gateway create using client account
427
- # response = self.dl.create_gateway_action(id=gateway_id,
428
- # action="create_gateway_approve",
429
- # metered=False,
430
- # global_=False,
431
- # authentication_key=authenticationKey)
432
- # assert response is not None
433
- # assert response.get_status_code() == 200
434
- # result = response.get_result()
435
- # assert result['id'] == gateway_id
436
- # assert result['name'] == name
437
- # assert result['authentication_key']['crn'] == authenticationKeyCRN
438
-
439
- # #verfiy client account can see the authentication key
440
- # response = self.dl.get_gateway(id=gateway_id)
441
- # assert response is not None
442
- # assert response.get_status_code() == 200
443
- # assert result['id'] == gateway_id
444
- # assert result['name'] == name
445
- # assert result['authentication_key']['crn'] == authenticationKeyCRN
387
+ def test_provider_gateway_actions_with_client_api_md5 (self ):
388
+ timestamp = time .time ()
389
+ name = os .getenv ("DL_PROVIDER_SERVICES_GW_NAME" ) + "-md5-" + str (int (timestamp ))
390
+ bgpAsn = 64999
391
+ customerAccount = os .getenv ("DL_PROVIDER_SERVICES_CUSTOMER_ACCT_ID" )
392
+ speedMbps = 1000
393
+ authenticationKeyCRN = os .getenv ("DL_SERVICES_AUTHENTICATION_KEY" )
394
+ authenticationKey = GatewayActionTemplateAuthenticationKey (authenticationKeyCRN )
395
+
396
+ """ successfully get a provider port id """
397
+ response = self .dl_provider .list_provider_ports ()
398
+ assert response is not None
399
+
400
+ port_id = response .get_result ().get ("ports" )[0 ].get ("id" )
401
+ port = ProviderGatewayPortIdentity (id = port_id )
402
+
403
+ #created provider gateway
404
+ response = self .dl_provider .create_provider_gateway (bgp_asn = bgpAsn ,
405
+ customer_account_id = customerAccount ,
406
+ name = name ,
407
+ port = port ,
408
+ speed_mbps = speedMbps )
409
+ assert response is not None
410
+ assert response .get_status_code () == 201
411
+ gateway_id = response .get_result ().get ("id" )
412
+
413
+ #verfiy client account can see the provider created gateway
414
+ response = self .dl .get_gateway (id = gateway_id )
415
+ assert response is not None
416
+ assert response .get_status_code () == 200
417
+ assert response .get_result ().get ("id" ) == gateway_id
418
+ assert response .get_result ().get ("name" ) == name
419
+ assert response .get_result ().get ("speed_mbps" ) == speedMbps
420
+ assert response .get_result ().get ("provider_api_managed" ) == True
421
+ assert response .get_result ().get ("operational_status" ) == "create_pending"
422
+ assert response .get_result ().get ("type" ) == "connect"
423
+ assert "change_request" in response .get_result ()
424
+
425
+ #successfully approve the gateway create using client account
426
+ response = self .dl .create_gateway_action (id = gateway_id ,
427
+ action = "create_gateway_approve" ,
428
+ metered = False ,
429
+ global_ = False ,
430
+ authentication_key = authenticationKey )
431
+ assert response is not None
432
+ assert response .get_status_code () == 200
433
+ result = response .get_result ()
434
+ assert result ['id' ] == gateway_id
435
+ assert result ['name' ] == name
436
+ assert result ['authentication_key' ]['crn' ] == authenticationKeyCRN
437
+
438
+ # wait until gateway moves to provisioned state
439
+ count = 0
440
+ while True :
441
+ response = None
442
+ response = self .dl .get_gateway (id = gateway_id )
443
+ operationalStatus = response .get_result ().get ("operational_status" )
444
+
445
+ if (response is not None ) and (response .get_result ().get ("operational_status" ) == "provisioned" ):
446
+ assert response is not None
447
+ assert response .get_status_code () == 200
448
+ assert response .get_result ().get ("id" ) == gateway_id
449
+ assert response .get_result ().get ("name" ) == name
450
+ assert response .get_result ().get ("speed_mbps" ) == speedMbps
451
+ assert response .get_result ().get ("provider_api_managed" ) == True
452
+ assert response .get_result ().get ("operational_status" ) == "provisioned"
453
+ assert response .get_result ().get ("type" ) == "connect"
454
+ break
455
+
456
+ if count > 24 :
457
+ assert response .get_result ().get ("operational_status" ) == "provisioned"
458
+ else :
459
+ time .sleep (10 )
460
+ count += 1
461
+
462
+ #verfiy client account can see the authentication key
463
+ response = self .dl .get_gateway (id = gateway_id )
464
+ assert response is not None
465
+ assert response .get_status_code () == 200
466
+ result = response .get_result ()
467
+ assert result ['id' ] == gateway_id
468
+ assert result ['name' ] == name
469
+ assert result ['authentication_key' ]['crn' ] == authenticationKeyCRN
470
+
446
471
447
- # #successfully re- request delete using provider account
448
- # response = self.dl_provider.delete_provider_gateway(id=gateway_id)
449
- # assert response is not None
450
- # assert response.get_status_code() == 202
451
-
452
- # #successfully approve delete gateway using client account
453
- # response = self.dl.create_gateway_action(id=gateway_id, action="delete_gateway_approve")
454
- # assert response is not None
455
- # assert response.get_status_code() == 204
472
+ #successfully request delete using provider account
473
+ response = self .dl_provider .delete_provider_gateway (id = gateway_id )
474
+ assert response is not None
475
+ assert response .get_status_code () == 202
476
+
477
+ #successfully approve delete gateway using client account
478
+ response = self .dl .create_gateway_action (id = gateway_id , action = "delete_gateway_approve" )
479
+ assert response is not None
480
+ assert response .get_status_code () == 204
456
481
457
482
if __name__ == '__main__' :
458
483
unittest .main ()
0 commit comments