1from devtools_testutils import AzureMgmtTestCase, ResourceGroupPreparer 2from azure.mgmt.botservice import AzureBotService 3from azure.mgmt.botservice.models import ( 4 Bot, 5 BotProperties, 6 Sku, 7 ErrorException 8) 9 10class CoreBotServiceTestCase(AzureMgmtTestCase): 11 def setUp(self): 12 super(CoreBotServiceTestCase, self).setUp() 13 self.client = self.create_mgmt_client(AzureBotService) 14 self.resource_name = self.get_resource_name('azurebotservice') 15 self.location = 'global' 16 self.sku_name = 'S1' 17 self.kind= 'Bot' 18 self.display_name = "this is a test bot" 19 self.description= "this is a description for a test bot" 20 self.endpoint = "https://bing.com/messages/" 21 self.msa_app_id = "41a220b9-6571-4f0b-bbd2-43f1c1d82f51" 22 self.developer_app_insight_key = '59513bad-10a7-4d41-b4d0-b1c34c6af52a' 23 self.developer_app_insights_api_key = 'w24iw5ocbhcig71su7ibaj63hey5ieaozeuwdv2r' 24 self.developer_app_insights_application_id = 'cf03484e-3fdb-4b5e-9ad7-94bde32e5a2b' 25 26 def validate_bot_properties(self, bot): 27 self.assertEqual(bot.id, '/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.BotService/botServices/{2}'.format(self.client.config.subscription_id,self.resource_group_name,self.resource_name)) 28 self.assertEqual(bot.name, self.resource_name) 29 self.assertEqual(bot.location, self.location) 30 self.assertEqual(bot.sku.name, self.sku_name) 31 self.assertEqual(bot.kind, self.kind) 32 self.assertEqual(bot.properties.display_name, self.display_name) 33 self.assertEqual(bot.properties.description, self.description) 34 self.assertEqual(bot.properties.endpoint, self.endpoint) 35 self.assertEqual(bot.properties.msa_app_id, self.msa_app_id) 36 self.assertEqual(bot.properties.developer_app_insight_key, self.developer_app_insight_key) 37 self.assertEqual(bot.properties.developer_app_insights_api_key, None) #this password should not be returned in the response 38 self.assertEqual(bot.properties.developer_app_insights_application_id, self.developer_app_insights_application_id) 39 40 @ResourceGroupPreparer(name_prefix='python_test_bot') 41 def test_bot_operations(self, resource_group): 42 self.resource_group_name = resource_group.name 43 bot = self.client.bots.create( 44 resource_group_name = self.resource_group_name, 45 resource_name = self.resource_name, 46 parameters = Bot( 47 location= self.location, 48 sku = Sku(name=self.sku_name), 49 kind= self.kind, 50 properties= BotProperties( 51 display_name = self.display_name, 52 description= self.description, 53 endpoint = self.endpoint, 54 msa_app_id = self.msa_app_id, 55 developer_app_insight_key = self.developer_app_insight_key, 56 developer_app_insights_api_key = self.developer_app_insights_api_key, 57 developer_app_insights_application_id = self.developer_app_insights_application_id, 58 ) 59 ) 60 ) 61 self.validate_bot_properties(bot) 62 63 bot = self.client.bots.get( 64 resource_group_name = self.resource_group_name, 65 resource_name = self.resource_name, 66 ) 67 self.validate_bot_properties(bot) 68 69 bot.properties.description = 'this is another description' 70 self.description = bot.properties.description 71 bot = self.client.bots.update( 72 resource_group_name = self.resource_group_name, 73 resource_name = self.resource_name, 74 properties = bot.properties 75 ) 76 # self.validate_bot_properties(bot) 77 bot = self.client.bots.delete( 78 resource_group_name = self.resource_group_name, 79 resource_name = self.resource_name, 80 ) 81 82 #ensure that the bot was not found with a get 83 with self.assertRaises(ErrorException): 84 bot = self.client.bots.get( 85 resource_group_name = self.resource_group_name, 86 resource_name = self.resource_name 87 )