Skip to content

Commit 75f7293

Browse files
authored
new errors (Azure#18834)
1 parent 59821ed commit 75f7293

File tree

7 files changed

+14281
-140
lines changed

7 files changed

+14281
-140
lines changed

sdk/textanalytics/Azure.AI.TextAnalytics/src/Transforms.cs

Lines changed: 32 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -478,49 +478,68 @@ internal static AnalyzeBatchActionsResult ConvertToAnalyzeBatchActionsResult(Ana
478478
return new AnalyzeBatchActionsResult(extractKeyPhrasesActionResult, recognizeEntitiesActionResults, recognizePiiEntitiesActionResults, jobState.Statistics);
479479
}
480480

481-
internal static IReadOnlyCollection<ExtractKeyPhrasesActionResult> ConvertToExtractKeyPhrasesActionResults(AnalyzeJobState jobState, IDictionary<string, int> idToIndexMap, IDictionary<int, TextAnalyticsErrorInternal> errors)
481+
internal static IReadOnlyCollection<ExtractKeyPhrasesActionResult> ConvertToExtractKeyPhrasesActionResults(AnalyzeJobState jobState, IDictionary<string, int> idToIndexMap, IDictionary<int, TextAnalyticsErrorInternal> tasksErrors)
482482
{
483483
var collection = new List<ExtractKeyPhrasesActionResult>();
484484
int index = 0;
485485
foreach (KeyPhraseExtractionTasksItem task in jobState.Tasks.KeyPhraseExtractionTasks)
486486
{
487-
TextAnalyticsErrorInternal error;
488-
errors.TryGetValue(index, out error);
489-
490-
collection.Add(new ExtractKeyPhrasesActionResult(ConvertToExtractKeyPhrasesResultCollection(task.ResultsInternal, idToIndexMap), task.LastUpdateDateTime, error));
487+
tasksErrors.TryGetValue(index, out TextAnalyticsErrorInternal taskError);
491488

489+
if (taskError != null)
490+
{
491+
collection.Add(new ExtractKeyPhrasesActionResult(null, task.LastUpdateDateTime, taskError));
492+
}
493+
else
494+
{
495+
collection.Add(new ExtractKeyPhrasesActionResult(ConvertToExtractKeyPhrasesResultCollection(task.ResultsInternal, idToIndexMap), task.LastUpdateDateTime, null));
496+
}
492497
index++;
493498
}
494499

495500
return collection;
496501
}
497502

498-
internal static IReadOnlyCollection<RecognizePiiEntitiesActionResult> ConvertToRecognizePiiEntitiesActionsResults(AnalyzeJobState jobState, IDictionary<string, int> idToIndexMap, IDictionary<int, TextAnalyticsErrorInternal> errors)
503+
internal static IReadOnlyCollection<RecognizePiiEntitiesActionResult> ConvertToRecognizePiiEntitiesActionsResults(AnalyzeJobState jobState, IDictionary<string, int> idToIndexMap, IDictionary<int, TextAnalyticsErrorInternal> tasksErrors)
499504
{
500505
var collection = new List<RecognizePiiEntitiesActionResult>();
501506
int index = 0;
502507
foreach (EntityRecognitionPiiTasksItem task in jobState.Tasks.EntityRecognitionPiiTasks)
503508
{
504-
TextAnalyticsErrorInternal error;
505-
errors.TryGetValue(index, out error);
509+
tasksErrors.TryGetValue(index, out TextAnalyticsErrorInternal taskError);
506510

507-
collection.Add(new RecognizePiiEntitiesActionResult(ConvertToRecognizePiiEntitiesResultCollection(task.ResultsInternal, idToIndexMap), task.LastUpdateDateTime, error));
511+
if (taskError != null)
512+
{
513+
collection.Add(new RecognizePiiEntitiesActionResult(null, task.LastUpdateDateTime, taskError));
514+
}
515+
else
516+
{
517+
collection.Add(new RecognizePiiEntitiesActionResult(ConvertToRecognizePiiEntitiesResultCollection(task.ResultsInternal, idToIndexMap), task.LastUpdateDateTime, taskError));
518+
}
508519
index++;
509520
}
510521

511522
return collection;
512523
}
513524

514-
internal static IReadOnlyCollection<RecognizeEntitiesActionResult> ConvertToRecognizeEntitiesActionsResults(AnalyzeJobState jobState, IDictionary<string, int> idToIndexMap, IDictionary<int, TextAnalyticsErrorInternal> errors)
525+
internal static IReadOnlyCollection<RecognizeEntitiesActionResult> ConvertToRecognizeEntitiesActionsResults(AnalyzeJobState jobState, IDictionary<string, int> idToIndexMap, IDictionary<int, TextAnalyticsErrorInternal> tasksErrors)
515526
{
516527
var collection = new List<RecognizeEntitiesActionResult>();
517528
int index = 0;
518529
foreach (EntityRecognitionTasksItem task in jobState.Tasks.EntityRecognitionTasks)
519530
{
520-
TextAnalyticsErrorInternal error;
521-
errors.TryGetValue(index, out error);
531+
tasksErrors.TryGetValue(index, out TextAnalyticsErrorInternal taskError);
522532

523-
collection.Add(new RecognizeEntitiesActionResult(ConvertToRecognizeEntitiesResultCollection(task.ResultsInternal, idToIndexMap), task.LastUpdateDateTime, error));
533+
tasksErrors.TryGetValue(index, out taskError);
534+
535+
if (taskError != null)
536+
{
537+
collection.Add(new RecognizeEntitiesActionResult(null, task.LastUpdateDateTime, taskError));
538+
}
539+
else
540+
{
541+
collection.Add(new RecognizeEntitiesActionResult(ConvertToRecognizeEntitiesResultCollection(task.ResultsInternal, idToIndexMap), task.LastUpdateDateTime, taskError));
542+
}
524543
index++;
525544
}
526545

sdk/textanalytics/Azure.AI.TextAnalytics/tests/AnalyzeOperationTests.cs

Lines changed: 48 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -330,6 +330,22 @@ public async Task AnalyzeOperationBatchWithErrorTest()
330330
ModelVersion = "InvalidVersion"
331331
}
332332
},
333+
RecognizeEntitiesOptions = new List<RecognizeEntitiesOptions>()
334+
{
335+
new RecognizeEntitiesOptions(),
336+
new RecognizeEntitiesOptions()
337+
{
338+
ModelVersion = "InvalidVersion"
339+
}
340+
},
341+
RecognizePiiEntitiesOptions = new List<RecognizePiiEntitiesOptions>()
342+
{
343+
new RecognizePiiEntitiesOptions(),
344+
new RecognizePiiEntitiesOptions()
345+
{
346+
ModelVersion = "InvalidVersion"
347+
}
348+
},
333349
DisplayName = "AnalyzeOperationBatchWithErrorTest",
334350
};
335351

@@ -340,15 +356,41 @@ public async Task AnalyzeOperationBatchWithErrorTest()
340356
//Take the first page
341357
AnalyzeBatchActionsResult resultCollection = operation.Value.ToEnumerableAsync().Result.FirstOrDefault();
342358

343-
ExtractKeyPhrasesActionResult resultWithActionError = resultCollection.ExtractKeyPhrasesActionsResults.ElementAtOrDefault(1);
359+
//Key phrases
360+
var keyPhrasesActions = resultCollection.ExtractKeyPhrasesActionsResults.ToList();
361+
362+
Assert.IsFalse(keyPhrasesActions[0].HasError);
363+
Assert.AreEqual(3, keyPhrasesActions[0].Result.Count);
364+
var kpEmptyDocument = keyPhrasesActions[0].Result.ElementAt(2);
365+
Assert.IsTrue(kpEmptyDocument.HasError);
366+
Assert.AreEqual(TextAnalyticsErrorCode.InvalidDocument, kpEmptyDocument.Error.ErrorCode.ToString());
367+
368+
Assert.IsTrue(keyPhrasesActions[1].HasError);
369+
Assert.AreEqual(TextAnalyticsErrorCode.InvalidRequest, keyPhrasesActions[1].Error.ErrorCode.ToString());
370+
371+
// Entities
372+
var entitiesActions = resultCollection.RecognizeEntitiesActionsResults.ToList();
373+
374+
Assert.IsFalse(entitiesActions[0].HasError);
375+
Assert.AreEqual(3, entitiesActions[0].Result.Count);
376+
var entitiesEmptyDocument = entitiesActions[0].Result.ElementAt(2);
377+
Assert.IsTrue(entitiesEmptyDocument.HasError);
378+
Assert.AreEqual(TextAnalyticsErrorCode.InvalidDocument, entitiesEmptyDocument.Error.ErrorCode.ToString());
379+
380+
Assert.IsTrue(entitiesActions[1].HasError);
381+
Assert.AreEqual(TextAnalyticsErrorCode.InvalidRequest, entitiesActions[1].Error.ErrorCode.ToString());
344382

345-
ExtractKeyPhrasesResultCollection resultWithDocumentError = resultCollection.ExtractKeyPhrasesActionsResults.FirstOrDefault().Result;
383+
// PII entities
384+
var piiEntitiesActions = resultCollection.RecognizePiiEntitiesActionsResults.ToList();
346385

347-
Assert.IsTrue(resultWithActionError.HasError);
348-
Assert.AreEqual(TextAnalyticsErrorCode.InvalidRequest, resultWithActionError.Error.ErrorCode.ToString());
386+
Assert.IsFalse(piiEntitiesActions[0].HasError);
387+
Assert.AreEqual(3, piiEntitiesActions[0].Result.Count);
388+
var piiEntitiesEmptyDocument = piiEntitiesActions[0].Result.ElementAt(2);
389+
Assert.IsTrue(piiEntitiesEmptyDocument.HasError);
390+
Assert.AreEqual(TextAnalyticsErrorCode.InvalidDocument, piiEntitiesEmptyDocument.Error.ErrorCode.ToString());
349391

350-
Assert.IsTrue(resultWithDocumentError.ElementAt(2).HasError);
351-
Assert.AreEqual(TextAnalyticsErrorCode.InvalidDocument, resultWithDocumentError.ElementAt(2).Error.ErrorCode.ToString());
392+
Assert.IsTrue(piiEntitiesActions[1].HasError);
393+
Assert.AreEqual(TextAnalyticsErrorCode.InvalidRequest, piiEntitiesActions[1].Error.ErrorCode.ToString());
352394
}
353395

354396
[Test]

sdk/textanalytics/Azure.AI.TextAnalytics/tests/RecognizePiiEntitiesTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ public async Task RecognizePiiEntitiesWithDomainTest()
8080

8181
PiiEntityCollection entities = await client.RecognizePiiEntitiesAsync(document, "en", new RecognizePiiEntitiesOptions() { DomainFilter = PiiEntityDomainType.ProtectedHealthInformation } );
8282

83-
ValidateInDocumenResult(entities, new List<string>() { "atest@microsoft.com" });
83+
ValidateInDocumenResult(entities, new List<string>() { "atest@microsoft.com", "Microsoft" });
8484
}
8585

8686
[Test]

0 commit comments

Comments
 (0)