1from devtools_testutils import AzureMgmtTestCase, ResourceGroupPreparer 2from azure.mgmt.botservice import AzureBotService 3from azure.mgmt.botservice.models import ( 4 Bot, 5 BotProperties, 6 ErrorException, 7 Sku 8) 9 10class BotServiceConnectionsTestCase(AzureMgmtTestCase): 11 def setUp(self): 12 super(BotServiceConnectionsTestCase, self).setUp() 13 #create a bot here 14 self.client = self.create_mgmt_client(AzureBotService) 15 self.resource_name = self.get_resource_name('azurebot') 16 17 def createBot(self): 18 location = 'global' 19 sku_name = 'Free' 20 kind= 'Bot' 21 display_name = "this is a test bot" 22 description= "this is a description for a test bot" 23 endpoint = "https://bing.com/messages/" 24 msa_app_id = "056d9ad9-17a9-4cc7-aebb-43bf6f293a08" 25 developer_app_insight_key = '59513bad-10a7-4d41-b4d0-b1c34c6af512' 26 developer_app_insights_api_key = 'w24iw5ocbhcig71su7ibaj63hey5ieaozeuwdv11' 27 developer_app_insights_application_id = 'cf03484e-3fdb-4b5e-9ad7-94bde32e5a11' 28 bot = self.client.bots.create( 29 resource_group_name = self.resource_group_name, 30 resource_name = self.resource_name, 31 parameters = Bot( 32 location= location, 33 sku = Sku(name=sku_name), 34 kind= kind, 35 properties= BotProperties( 36 display_name = display_name, 37 description= description, 38 endpoint = endpoint, 39 msa_app_id = msa_app_id, 40 developer_app_insight_key = developer_app_insight_key, 41 developer_app_insights_api_key = developer_app_insights_api_key, 42 developer_app_insights_application_id = developer_app_insights_application_id, 43 ) 44 ) 45 ) 46 47 def tearDown(self): 48 super(BotServiceConnectionsTestCase, self).tearDown() 49 50 51 @ResourceGroupPreparer(name_prefix='python_conn') 52 def test_bot_connection_operations(self, resource_group): 53 self.resource_group_name = resource_group.name 54 self.createBot() 55 from azure.mgmt.botservice.models import ConnectionSetting, ConnectionSettingProperties, ConnectionSettingParameter 56 connection_resource_name = self.get_resource_name('myconnection') 57 # create a connection 58 setting_payload = ConnectionSetting( 59 location='global', 60 properties=ConnectionSettingProperties( 61 client_id='clientId', 62 client_secret='clientSecret', 63 scopes='read,write', 64 service_provider_id='00ea67de-bfc6-4f45-9ede-083899596b7b', 65 parameters=[ConnectionSettingParameter(key='key1', value='value1')] 66 ) 67 ) 68 setting = self.client.bot_connection.create( 69 resource_group_name=resource_group.name, 70 resource_name=self.resource_name, 71 connection_name=connection_resource_name, 72 parameters=setting_payload 73 ) 74 self.assertIsNotNone(setting) 75 self.assertEqual(setting.properties.client_id, 'clientId') 76 77 # get a connection 78 setting = self.client.bot_connection.get( 79 resource_group_name=resource_group.name, 80 resource_name=self.resource_name, 81 connection_name=connection_resource_name 82 ) 83 self.assertIsNotNone(setting) 84 #list all connections 85 settings = self.client.bot_connection.list_by_bot_service( 86 resource_group_name = resource_group.name, 87 resource_name=self.resource_name 88 ) 89 self.assertIsNotNone(setting) 90 self.assertTrue(len(list(settings)) == 1) 91 92 # delete a connection 93 setting = self.client.bot_connection.delete( 94 resource_group_name=resource_group.name, 95 resource_name=self.resource_name, 96 connection_name=connection_resource_name 97 ) 98 with self.assertRaises(ErrorException): 99 setting = self.client.bot_connection.get( 100 resource_group_name=resource_group.name, 101 resource_name=self.resource_name, 102 connection_name=connection_resource_name 103 ) 104 105 106 def test_bot_connection_serviceproviders(self): 107 service_provider_responses = self.client.bot_connection.list_service_providers() 108 self.assertTrue(len(service_provider_responses.value) > 0)