public async Task ShouldSendPublishRequest() { IEnumerable <Training> trainingList; using (var client = new LuisProgClient(SubscriptionKey, Region)) { await client.AddIntentAsync("IntentTest", appId, appVersion); await client.AddExampleAsync(appId, appVersion, new Example { Text = "Hello World!", IntentName = "IntentTest" }); await client.TrainAsync(appId, appVersion); do { trainingList = await client.GetTrainingStatusListAsync(appId, appVersion); }while (!trainingList.All(x => x.Details.Status.Equals("Success"))); var publish = await client.PublishAsync(appId, appVersion, false, "westus"); Assert.IsNotNull(publish); } }
public async Task ShouldAddExample() { var client = new LuisProgClient(SUBSCRIPTION_KEY, LOCATION); string intentTestId = null; var intentTest = await client.GetIntentByNameAsync("IntentTest", _appId, "1.0"); if (intentTest != null) { intentTestId = intentTest.Id; } else { intentTestId = await client.AddIntentAsync("IntentTest", _appId, "1.0"); } var example = new Example { Text = "Hello World!", IntentName = "IntentTest" }; var utterance = await client.AddExampleAsync(_appId, "1.0", example); Assert.IsNotNull(utterance); }
public async Task ShouldThrowExceptionOnRenameIntentTestWhenExistsIntentWithSameName() { using (var client = new LuisProgClient(SubscriptionKey, Region)) { var intent = await client.GetIntentByNameAsync(IntentName, appId, appVersion); var intentChanged = await client.GetIntentByNameAsync(IntentNameChanged, appId, appVersion); string intentChangedId = null; if (intent == null) { await client.AddIntentAsync(IntentName, appId, appVersion); intent = await client.GetIntentByNameAsync(IntentName, appId, appVersion); } if (intentChanged == null) { intentChangedId = await client.AddIntentAsync(IntentNameChanged, appId, appVersion); } var ex = await Assert.ThrowsExceptionAsync <Exception>(() => client.RenameIntentAsync(intent.Id, IntentNameChanged, appId, appVersion)); Assert.AreEqual(ex.Message, "BadArgument - The models: { IntentTestChanged } already exist in the specified application version."); } }
public async Task ShouldAddLabelledExample() { using (var client = new LuisProgClient(SubscriptionKey, Region)) { // Add simple entity name if not already exists if (await client.Entities.GetSimpleEntityByNameAsync("name", appId, appVersion) == null) { await client.Entities.AddSimpleEntityAsync("name", appId, appVersion); } if (await client.Intents.GetByNameAsync(IntentName, appId, appVersion) == null) { await client.Intents.AddAsync(IntentName, appId, appVersion); } var labeledExample = new Example() { Text = "Who is Test User!", IntentName = IntentName, EntityLabels = new List <EntityLabel> { new EntityLabel { EntityName = "name", StartCharIndex = 7, EndCharIndex = 15 } } }; var utterance = await client.Examples.AddAsync(appId, appVersion, labeledExample); Assert.NotNull(utterance); } }
public async Task ShouldRenameAppSDKTest() { using (var client = new LuisProgClient(SubscriptionKey, Region)) { var app = await client.GetAppByNameAsync("SDKTest"); var appChanged = await client.GetAppByNameAsync("SDKTestChanged"); if (app == null) { await client.AddAppAsync("SDKTest", "Description test", "en-us", "SDKTest", string.Empty, appVersion); app = await client.GetAppByNameAsync("SDKTest"); } if (appChanged != null) { await client.DeleteAppAsync(appChanged.Id); } await client.RenameAppAsync(app.Id, "SDKTestChanged", "Description changed"); app = await client.GetAppByIdAsync(app.Id); Assert.AreEqual("SDKTestChanged", app.Name); } }
public async Task ShouldThrowExceptionOnRenameEntityTestWhenExistsEntityWithSameName() { using (var client = new LuisProgClient(SubscriptionKey, Region)) { var entity = await client.Entities.GetSimpleEntityByNameAsync(SimpleEntityName, appId, appVersion); var entityChanged = await client.Entities.GetSimpleEntityByNameAsync(SimpleEntityNameChanged, appId, appVersion); string entityChangedId = null; if (entity == null) { await client.Entities.AddSimpleEntityAsync(SimpleEntityName, appId, appVersion); entity = await client.Entities.GetSimpleEntityByNameAsync(SimpleEntityName, appId, appVersion); } if (entityChanged == null) { entityChangedId = await client.Entities.AddSimpleEntityAsync(SimpleEntityNameChanged, appId, appVersion); } var ex = await Assert.ThrowsAsync <Exception>(() => client.Entities.RenameAsync(entity.Id, SimpleEntityNameChanged, appId, appVersion)); Assert.Equal("BadArgument - The models: { SimpleEntityTestChanged } already exist in the specified application version.", ex.Message); } }
public async Task ShouldGetExistCompositeEntityById() { using (var client = new LuisProgClient(SubscriptionKey, Region)) { var entities = await client.Entities.GetAllCompositeEntitiesAsync(appId, appVersion); if (entities.Count == 0) { if (await client.Entities.GetSimpleEntityByNameAsync($"{CompositeEntityName}1", appId, appVersion) == null) { await client.Entities.AddSimpleEntityAsync($"{CompositeEntityName}1", appId, appVersion); } await client.Entities.AddCompositeEntityAsync(CompositeEntityName, new[] { $"{CompositeEntityName}1" }, appId, appVersion); entities = await client.Entities.GetAllCompositeEntitiesAsync(appId, appVersion); } var firstEntity = entities.FirstOrDefault(); var entity = await client.Entities.GetCompositeEntityByIdAsync(firstEntity.Id, appId, appVersion); Assert.Equal(firstEntity.Name, entity.Name); Assert.Equal("CompositeEntityTest1", firstEntity.Children.ElementAt(0).Name); } }
public async Task ShouldGetIntentList() { var client = new LuisProgClient(SUBSCRIPTION_KEY, LOCATION); var intents = await client.GetAllIntentsAsync(_appId, "1.0"); Assert.IsInstanceOfType(intents, typeof(IEnumerable <Intent>)); }
public async Task ShouldSendTrainingRequest() { var client = new LuisProgClient(SUBSCRIPTION_KEY, LOCATION); var trainingDetails = await client.TrainAsync(_appId, "1.0"); Assert.IsNotNull(trainingDetails); }
public async Task ShouldRenameIntentTest() { var client = new LuisProgClient(SUBSCRIPTION_KEY, LOCATION); var intent = await client.GetIntentByNameAsync("IntentTest", _appId, "1.0"); var intentChanged = await client.GetIntentByNameAsync("IntentTestChanged", _appId, "1.0"); if (intent == null) { await client.AddIntentAsync("IntentTest", _appId, "1.0"); intent = await client.GetIntentByNameAsync("IntentTest", _appId, "1.0"); } if (intentChanged != null) { await client.DeleteIntentAsync(intentChanged.Id, _appId, "1.0"); } await client.RenameIntentAsync(intent.Id, "IntentTestChanged", _appId, "1.0"); intent = await client.GetIntentByIdAsync(intent.Id, _appId, "1.0"); Assert.AreEqual("IntentTestChanged", intent.Name); }
public async Task ShouldThrowExceptionOnRenameIntentTestWhenExistsIntentWithSameName() { var client = new LuisProgClient(SUBSCRIPTION_KEY, LOCATION); var intent = await client.GetIntentByNameAsync("IntentTest", _appId, "1.0"); var intentChanged = await client.GetIntentByNameAsync("IntentTestChanged", _appId, "1.0"); string intentChangedId = null; if (intent == null) { await client.AddIntentAsync("IntentTest", _appId, "1.0"); intent = await client.GetIntentByNameAsync("IntentTest", _appId, "1.0"); } if (intentChanged == null) { intentChangedId = await client.AddIntentAsync("IntentTestChanged", _appId, "1.0"); } var ex = await Assert.ThrowsExceptionAsync <Exception>(() => client.RenameIntentAsync(intent.Id, "IntentTestChanged", _appId, "1.0")); Assert.AreEqual(ex.Message, "The application already contains an intent classifier with the same name"); }
public async Task ShouldGetEntityList() { var client = new LuisProgClient(SUBSCRIPTION_KEY, LOCATION); var entities = await client.GetAllEntitiesAsync(_appId, "1.0"); Assert.IsInstanceOfType(entities, typeof(IEnumerable <Entity>)); }
public async Task ShouldThrowExceptionOnRenameEntityTestWhenExistsEntityWithSameName() { var client = new LuisProgClient(SUBSCRIPTION_KEY, LOCATION); var entity = await client.GetEntityByNameAsync("EntityTest", _appId, "1.0"); var entityChanged = await client.GetEntityByNameAsync("EntityTestChanged", _appId, "1.0"); string entityChangedId = null; if (entity == null) { await client.AddEntityAsync("EntityTest", _appId, "1.0"); entity = await client.GetEntityByNameAsync("EntityTest", _appId, "1.0"); } if (entityChanged == null) { entityChangedId = await client.AddEntityAsync("EntityTestChanged", _appId, "1.0"); } var ex = await Assert.ThrowsExceptionAsync <Exception>(() => client.RenameEntityAsync(entity.Id, "EntityTestChanged", _appId, "1.0")); Assert.AreEqual(ex.Message, "The application already contains an entity extractor with the same name"); }
public async Task ShouldRenameEntityTest() { var client = new LuisProgClient(SUBSCRIPTION_KEY, LOCATION); var entity = await client.GetEntityByNameAsync("EntityTest", _appId, "1.0"); var entityChanged = await client.GetEntityByNameAsync("EntityTestChanged", _appId, "1.0"); if (entity == null) { await client.AddEntityAsync("EntityTest", _appId, "1.0"); entity = await client.GetEntityByNameAsync("EntityTest", _appId, "1.0"); } if (entityChanged != null) { await client.DeleteEntityAsync(entityChanged.Id, _appId, "1.0"); } await client.RenameEntityAsync(entity.Id, "EntityTestChanged", _appId, "1.0"); entity = await client.GetEntityByIdAsync(entity.Id, _appId, "1.0"); Assert.AreEqual("EntityTestChanged", entity.Name); }
public async Task ShouldThrowExceptionOnAddNewClosedListEntityWhenAlreadyExists() { using (var client = new LuisProgClient(SubscriptionKey, Region)) { var entityTest = await client.Entities.GetClosedListEntityByNameAsync(SimpleEntityName, appId, appVersion); if (entityTest == null) { await client.Entities.AddClosedListEntityAsync(ClosedListEntityName, new[] { new ClosedListItem() { CanonicalForm = "SubList", List = new[] { "value1", "value2" } } }, appId, appVersion); } var ex = await Assert.ThrowsAsync <Exception>(() => client.Entities.AddClosedListEntityAsync(ClosedListEntityName, new[] { new ClosedListItem() { CanonicalForm = "SubList", List = new[] { "value1", "value2" } } }, appId, appVersion)); Assert.Equal("BadArgument - The models: { ClosedListEntityTest } already exist in the specified application version.", ex.Message); } }
public async Task ShouldGetTrainingStatusList() { var client = new LuisProgClient(SUBSCRIPTION_KEY, LOCATION); var training = await client.GetTrainingStatusListAsync(_appId, "1.0"); Assert.IsInstanceOfType(training, typeof(IEnumerable <Training>)); }
public async Task ShouldRenameEntityTest() { using (var client = new LuisProgClient(SubscriptionKey, Region)) { var entity = await client.Entities.GetSimpleEntityByNameAsync(SimpleEntityName, appId, appVersion); var entityChanged = await client.Entities.GetSimpleEntityByNameAsync(SimpleEntityNameChanged, appId, appVersion); if (entity == null) { await client.Entities.AddSimpleEntityAsync(SimpleEntityName, appId, appVersion); entity = await client.Entities.GetSimpleEntityByNameAsync(SimpleEntityName, appId, appVersion); } if (entityChanged != null) { await client.Entities.DeleteSimpleEntityAsync(entityChanged.Id, appId, appVersion); } await client.Entities.RenameAsync(entity.Id, SimpleEntityNameChanged, appId, appVersion); entity = await client.Entities.GetSimpleEntityByIdAsync(entity.Id, appId, appVersion); Assert.Equal(SimpleEntityNameChanged, entity.Name); } }
public async Task ShouldRenameAppSDKTest() { var client = new LuisProgClient(SUBSCRIPTION_KEY, LOCATION); var app = await client.GetAppByNameAsync("SDKTest"); var appChanged = await client.GetAppByNameAsync("SDKTestChanged"); if (app == null) { await client.AddAppAsync("SDKTest", "Description test", "en-us", "SDKTest", string.Empty, "1.0"); app = await client.GetAppByNameAsync("SDKTest"); } if (appChanged != null) { await client.DeleteAppAsync(appChanged.Id); } await client.RenameAppAsync(app.Id, "SDKTestChanged", "Description changed"); app = await client.GetAppByIdAsync(app.Id); Assert.AreEqual("SDKTestChanged", app.Name); }
public async Task ShouldDeleteClosedListEntityTest() { using (var client = new LuisProgClient(SubscriptionKey, Region)) { if (await client.Entities.GetClosedListEntityByNameAsync(ClosedListEntityName, appId, appVersion) == null) { await client.Entities.AddClosedListEntityAsync(ClosedListEntityName, new[] { new ClosedListItem() { CanonicalForm = "SubList", List = new[] { "value1", "value2" } } }, appId, appVersion); } var entity = await client.Entities.GetClosedListEntityByNameAsync(ClosedListEntityName, appId, appVersion); await client.Entities.DeleteClosedListEntityAsync(entity.Id, appId, appVersion); entity = await client.Entities.GetClosedListEntityByIdAsync(entity.Id, appId, appVersion); Assert.Null(entity); } }
public async Task ShouldThrowExceptionOnRenameAppSDKTestWhenExistsAppWithSameName() { var client = new LuisProgClient(SUBSCRIPTION_KEY, LOCATION); var app = await client.GetAppByNameAsync("SDKTest"); var appChanged = await client.GetAppByNameAsync("SDKTestChanged"); string appChangedId = null; if (app == null) { await client.AddAppAsync("SDKTest", "Description test", "en-us", "SDKTest", string.Empty, "1.0"); app = await client.GetAppByNameAsync("SDKTest"); } if (appChanged == null) { appChangedId = await client.AddAppAsync("SDKTestChanged", "Description changed", "en-us", "SDKTest", string.Empty, "1.0"); } var ex = await Assert.ThrowsExceptionAsync <Exception>(() => client.RenameAppAsync(app.Id, "SDKTestChanged", "Description changed")); Assert.AreEqual(ex.Message, "An application with the same name already exists"); }
public async Task ShouldAddExample() { using (var client = new LuisProgClient(SubscriptionKey, Region)) { string intentTestId = null; var intentTest = await client.Intents.GetByNameAsync(IntentName, appId, appVersion); if (intentTest != null) { intentTestId = intentTest.Id; } else { intentTestId = await client.Intents.AddAsync(IntentName, appId, appVersion); } var example = new Example { Text = "Hello World!", IntentName = IntentName }; var utterance = await client.Examples.AddAsync(appId, appVersion, example); Assert.NotNull(utterance); } }
public async Task ShouldGetAppList() { var client = new LuisProgClient(SUBSCRIPTION_KEY, LOCATION); var apps = await client.GetAllAppsAsync(); Assert.IsInstanceOfType(apps, typeof(IEnumerable <LuisApp>)); }
public async Task ShoulAddBatchExample() { using (var client = new LuisProgClient(SubscriptionKey, Region)) { if (await client.Intents.GetByNameAsync(IntentName, appId, appVersion) == null) { await client.Intents.AddAsync(IntentName, appId, appVersion); } List <Example> examples = new List <Example>(); examples.Add(new Example { Text = "Hello World!", IntentName = IntentName }); examples.Add(new Example { Text = "This is a test Utterance", IntentName = IntentName }); var addExamples = await client.Examples.AddBatchAsync(appId, appVersion, examples.ToArray()); Assert.Equal(2, addExamples.Length); } }
/// <summary> /// LUIS 트레이닝 /// </summary> /// <param name="appID"></param> /// <param name="appVersion"></param> /// <param name="authoringKey"></param> /// <returns></returns> private async Task <TrainingDetails> LuisTrain(string appID, string appVersion, string authoringKey) { using (var client = new LuisProgClient(authoringKey, Regions.WestUS)) { return(await client.Training.TrainAsync(appID, appVersion)); } }
public async Task ShouldThrowExceptionOnRenameAppSDKTestWhenExistsAppWithSameName() { using (var client = new LuisProgClient(SubscriptionKey, Region)) { var app = await client.GetAppByNameAsync("SDKTest"); var appChanged = await client.GetAppByNameAsync("SDKTestChanged"); string appChangedId = null; if (app == null) { await client.AddAppAsync("SDKTest", "Description test", "en-us", "SDKTest", string.Empty, appVersion); app = await client.GetAppByNameAsync("SDKTest"); } if (appChanged == null) { appChangedId = await client.AddAppAsync("SDKTestChanged", "Description changed", "en-us", "SDKTest", string.Empty, appVersion); } var ex = await Assert.ThrowsExceptionAsync <Exception>(() => client.RenameAppAsync(app.Id, "SDKTestChanged", "Description changed")); Assert.AreEqual(ex.Message, "BadArgument - SDKTestChanged already exists."); } }
/// <summary> /// LUIS 게시하기 /// </summary> /// <param name="appID"></param> /// <param name="appVersion"></param> /// <param name="authoringKey"></param> /// <returns></returns> private async Task <Publish> LuisPublish(string appID, string appVersion, string authoringKey) { using (var client = new LuisProgClient(authoringKey, Regions.WestUS)) { return(await client.Publishing.PublishAsync(appID, appVersion, false, false)); } }
public async Task ShouldRenameIntentTest() { using (var client = new LuisProgClient(SubscriptionKey, Region)) { var intent = await client.GetIntentByNameAsync(IntentName, appId, appVersion); var intentChanged = await client.GetIntentByNameAsync(IntentNameChanged, appId, appVersion); if (intent == null) { await client.AddIntentAsync(IntentName, appId, appVersion); intent = await client.GetIntentByNameAsync(IntentName, appId, appVersion); } if (intentChanged != null) { await client.DeleteIntentAsync(intentChanged.Id, appId, appVersion); } await client.RenameIntentAsync(intent.Id, IntentNameChanged, appId, appVersion); intent = await client.GetIntentByIdAsync(intent.Id, appId, appVersion); Assert.AreEqual(IntentNameChanged, intent.Name); } }
public async Task ShouldGetExistClosedListEntityById() { using (var client = new LuisProgClient(SubscriptionKey, Region)) { var entities = await client.Entities.GetAllClosedListEntitiesAsync(appId, appVersion); if (entities.Count == 0) { var subList = new List <ClosedListItem> { new ClosedListItem() { CanonicalForm = "Test", List = new[] { "value1", "value2" } } }; await client.Entities.AddClosedListEntityAsync(ClosedListEntityName, subList, appId, appVersion); entities = await client.Entities.GetAllClosedListEntitiesAsync(appId, appVersion); } var firstEntity = entities.FirstOrDefault(); var entity = await client.Entities.GetClosedListEntityByIdAsync(firstEntity.Id, appId, appVersion); Assert.Equal(firstEntity.Name, entity.Name); Assert.Single(firstEntity.SubLists); } }
public async Task ShouldDeleteIntentAndUtterancesTest() { using (var client = new LuisProgClient(SubscriptionKey, Region)) { if (await client.GetIntentByNameAsync(IntentName, appId, appVersion) == null) { await client.AddIntentAsync(IntentName, appId, appVersion); } // Add example for the intent var exampleAdded = await client.AddExampleAsync(appId, appVersion, new Example() { IntentName = IntentName, Text = "This is sample utterance" }); if (!string.IsNullOrEmpty(exampleAdded?.UtteranceText)) { var intent = await client.GetIntentByNameAsync(IntentName, appId, appVersion); await client.DeleteIntentAsync(intent.Id, appId, appVersion, true); // TODO : once the get exampleById available, get the exmaple and assert for null intent = await client.GetIntentByIdAsync(intent.Id, appId, appVersion); Assert.IsNull(intent); } } }
/// <summary> /// Luis Utterance 신규등록처리 /// </summary> /// <param name="appID"></param> /// <param name="appVersion"></param> /// <param name="authoringKey"></param> /// <param name="example"></param> /// <returns></returns> private async Task <Utterance> LuisCreateUtterance(string appID, string appVersion, string authoringKey, Example example) { using (var client = new LuisProgClient(authoringKey, Regions.WestUS)) { return(await client.Examples.AddAsync(appID, appVersion, example)); } }