private static Dictionary <string, string> CreateHeaders(CustomTextConfigModel skillsetConfigs, SelectedProjects selectedProjects) { var headers = new Dictionary <string, string>() { [Constants.CustomTextResourceEndpointHeader] = skillsetConfigs.Resource.Endpoint, [Constants.CustomTextResourceKeyHeader] = skillsetConfigs.Resource.Key, }; if (selectedProjects.IsSelected_EntityRecognitionProject) { headers.Add(Constants.EntityRecognitionProjectNameHeader, skillsetConfigs.Projects.EntityRecognition.ProjectName); headers.Add(Constants.EntityRecognitionDeploymentNameHeader, skillsetConfigs.Projects.EntityRecognition.DeploymentName); } if (selectedProjects.IsSelected_SingleClassificationProject) { headers.Add(Constants.SingleClassificationProjectNameHeader, skillsetConfigs.Projects.SingleClassification.ProjectName); headers.Add(Constants.SingleClassificationDeploymentNameHeader, skillsetConfigs.Projects.SingleClassification.DeploymentName); } if (selectedProjects.IsSelected_MultiClassificationProject) { headers.Add(Constants.MultiClassificationProjectNameHeader, skillsetConfigs.Projects.MultiClassification.ProjectName); headers.Add(Constants.MultiClassificationDeploymentNameHeader, skillsetConfigs.Projects.MultiClassification.DeploymentName); } return(headers); }
public async Task ValidateCustomSkillsetConfigsAsyncInternal( string azureFunctionUrl, CustomTextConfigModel skillsetConfigs, SelectedProjects selectedProjects) { // send request var body = new RequestBody() { Values = new RequestValue[] { new RequestValue() { RecordId = "123", Data = new RequestData() { Text = "some testing text" } } } }; var headers = CreateHeaders(skillsetConfigs, selectedProjects); var response = await SendJsonPostRequestAsync(url : azureFunctionUrl, body : body, headers : headers, parameters : null); // validate response var result = JsonConvert.DeserializeObject <Response>(await response.Content.ReadAsStringAsync()); ValidateResponse(result); }
public ConfigModel() { Storage = new StorageConfigModel(); Parser = new ParserConfigModel(); Chunker = new ChunkerConfigModel(); CustomText = new CustomTextConfigModel(); TextAnalytics = new TextAnalyticsConfigModel(); }
public async Task ValidateCustomSkillsetConfigsAsync( string azureFunctionUrl, CustomTextConfigModel skillsetConfigs, SelectedProjects selectedProjects) { try { await ValidateCustomSkillsetConfigsAsyncInternal(azureFunctionUrl, skillsetConfigs, selectedProjects); } catch (Exception) { throw new Exception("Custom Text App Credentials Are Invalid!"); } }
public async Task CustomSkillsetValidationServiceAsyncTest( string azureFunctionUrl, CustomTextConfigModel customTextConfigs, SelectedProjects selectedProjects, bool isValidCredentials) { var validationService = new SkillsetValidationService(); if (isValidCredentials) { await validationService.ValidateCustomSkillsetConfigsAsync(azureFunctionUrl, customTextConfigs, selectedProjects); } else { await Assert.ThrowsAsync <Exception>(() => validationService.ValidateCustomSkillsetConfigsAsync(azureFunctionUrl, customTextConfigs, selectedProjects)); } }
public SkillSet CreateSkillSetSchema( string skillSetName, string customTextSkillName, string azureFunctionUrl, CustomTextConfigModel customTextConfigs, SelectedProjects selectedProjects) { var customSkillSchema = CreateCustomSkillSchema( customTextSkillName, azureFunctionUrl, customTextConfigs, selectedProjects); return(new SkillSet { Name = skillSetName, Description = "Custom Text Skillset", Skills = new List <CustomSkillSchema> { customSkillSchema } }); }
public static TheoryData CustomSkillsetValidationServiceAsyncTestData() { var customTextConfigs = new CustomTextConfigModel() { Resource = new CustomTextResource() { Endpoint = Secrets.Instance.CustomSkillsetCustomtextServiceEndpoint, Key = Secrets.Instance.CustomSkillsetCustomtextServiceKey }, Projects = new CustomTextProjects() { EntityRecognition = new ProjectCredentials() { ProjectName = Secrets.Instance.CustomSkillsetCustomtextProjectName, DeploymentName = Secrets.Instance.CustomSkillsetCustomtextDeploymentName, } } }; var selectedProjects = new SelectedProjects() { IsSelected_EntityRecognitionProject = false, IsSelected_SingleClassificationProject = false, IsSelected_MultiClassificationProject = false }; return(new TheoryData <string, CustomTextConfigModel, SelectedProjects, bool> { { Secrets.Instance.CustomSkillsetAzureFunctionUrl, customTextConfigs, selectedProjects, true }, /*{ * "https://customtextfunction20asd017202545.azurewebsites.net/api/customtext-extractor?code=kfOKcelrasdlvn64VobUn/CiU2asdAFdb2n/Tasdgknvx8IsAEMwoA==", * Secrets.Instance.CustomSkillsetCustomtextServiceEndpoint, * Secrets.Instance.CustomSkillsetCustomtextServiceKey, * Secrets.Instance.CustomSkillsetCustomtextProjectName, * Secrets.Instance.CustomSkillsetCustomtextDeploymentName, * false * }, * { * Secrets.Instance.CustomSkillsetAzureFunctionUrl, * "lknlknasdlnlasjdnlajknsdljnasdljnasd", * Secrets.Instance.CustomSkillsetCustomtextServiceKey, * Secrets.Instance.CustomSkillsetCustomtextProjectName, * Secrets.Instance.CustomSkillsetCustomtextDeploymentName, * false * }, * { * Secrets.Instance.CustomSkillsetAzureFunctionUrl, * Secrets.Instance.CustomSkillsetCustomtextServiceEndpoint, * "lojunaiosudbiaubsdasdasd", * Secrets.Instance.CustomSkillsetCustomtextProjectName, * Secrets.Instance.CustomSkillsetCustomtextDeploymentName, * false * }, * { * Secrets.Instance.CustomSkillsetAzureFunctionUrl, * Secrets.Instance.CustomSkillsetCustomtextServiceEndpoint, * Secrets.Instance.CustomSkillsetCustomtextServiceKey, * "z9h8s6f664hf", * Secrets.Instance.CustomSkillsetCustomtextDeploymentName, * false * }, * { * Secrets.Instance.CustomSkillsetAzureFunctionUrl, * Secrets.Instance.CustomSkillsetCustomtextServiceEndpoint, * Secrets.Instance.CustomSkillsetCustomtextServiceKey, * Secrets.Instance.CustomSkillsetCustomtextProjectName, * "iuygsdgulmae", * false * },*/ }); }
private static CustomSkillSchema CreateCustomSkillSchema( string customTextSkillName, string azureFunctionUrl, CustomTextConfigModel customTextConfigs, SelectedProjects selectedProjects) { // basic info var customSkillSchema = new CustomSkillSchema() { name = customTextSkillName, uri = azureFunctionUrl }; // add headers / outputs var outputs = new List <Output>(); var headers = new HttpHeaders() { CustomTextResourceEndpointHeader = customTextConfigs.Resource.Endpoint, CustomTextResourceKeyHeader = customTextConfigs.Resource.Key }; if (selectedProjects.IsSelected_EntityRecognitionProject) { headers.EntityRecognitionProjectNameHeader = customTextConfigs.Projects.EntityRecognition.ProjectName; headers.EntityRecognitionDeploymentNameHeader = customTextConfigs.Projects.EntityRecognition.DeploymentName; var output = new Output() { name = Constants.SkillsetResponseEntitiesKey, targetName = Constants.SkillsetResponseEntitiesKey }; outputs.Add(output); } if (selectedProjects.IsSelected_SingleClassificationProject) { headers.SingleClassificationProjectNameHeader = customTextConfigs.Projects.SingleClassification.ProjectName; headers.SingleClassificationDeploymentNameHeader = customTextConfigs.Projects.SingleClassification.DeploymentName; var output = new Output() { name = Constants.SkillsetResponseSingleClassKey, targetName = Constants.SkillsetResponseSingleClassKey }; outputs.Add(output); } if (selectedProjects.IsSelected_MultiClassificationProject) { headers.MultiClassificationProjectNameHeader = customTextConfigs.Projects.MultiClassification.ProjectName; headers.MultiClassificationDeploymentNameHeader = customTextConfigs.Projects.MultiClassification.DeploymentName; var output = new Output() { name = Constants.SkillsetResponseMultiClassKey, targetName = Constants.SkillsetResponseMultiClassKey }; outputs.Add(output); } customSkillSchema.HttpHeaders = headers; customSkillSchema.outputs = outputs; // return return(customSkillSchema); }