public async Task CopyModelOperationCreatesDiagnosticScopeOnUpdate() { using var testListener = new ClientDiagnosticListener(DiagnosticNamespace); using var stream = new MemoryStream(Encoding.UTF8.GetBytes("{}")); var mockResponse = new MockResponse(200); mockResponse.ContentStream = stream; var mockTransport = new MockTransport(new[] { mockResponse, mockResponse }); var options = new FormRecognizerClientOptions() { Transport = mockTransport }; var client = CreateFormTrainingClient(options); var operation = new CopyModelOperation("00000000-0000-0000-0000-000000000000/copyresults/00000000-0000-0000-0000-000000000000", "00000000-0000-0000-0000-000000000000", client); if (IsAsync) { await operation.UpdateStatusAsync(); } else { operation.UpdateStatus(); } testListener.AssertScope($"{nameof(CopyModelOperation)}.{nameof(CopyModelOperation.UpdateStatus)}"); }
public void StartCopyModelWithError() { using var stream = new MemoryStream(Encoding.UTF8.GetBytes(@" { ""operationId"": ""31534618802_bc949c32-9281-4d00-a9c9-ef0080bb1b2a"", ""kind"": ""documentModelCopy"", ""status"": ""failed"", ""createdDateTime"": ""2021-09-15T23:39:58Z"", ""lastUpdatedDateTime"": ""2021-09-15T23:40:02Z"", ""resourceLocation"": ""https://mariari-centraluseuap.cognitiveservices.azure.com/formrecognizer/documentModels/1221528251?api-version=2021-09-30-preview"", ""error"": { ""code"": ""InvalidSomething"", ""message"": ""Invalid Something."", ""details"": [ { ""code"": ""InternalServerError"", ""message"": ""An unexpected error occurred."" }, { ""code"": ""InvalidContentDimensions"", ""message"": ""The input image dimensions are out of range. Refer to documentation for supported image dimensions."", ""target"": ""2"" } ] } }")); var mockResponse = new MockResponse(200); mockResponse.ContentStream = stream; var mockTransport = new MockTransport(new[] { mockResponse }); var client = CreateDocumentModelAdministrationClient(new DocumentAnalysisClientOptions() { Transport = mockTransport }); var operation = new CopyModelOperation("31534618802_bc949c32-9281-4d00-a9c9-ef0080bb1b2a", client); RequestFailedException ex = Assert.ThrowsAsync <RequestFailedException>(async() => await operation.UpdateStatusAsync()); Assert.AreEqual("InvalidSomething", ex.ErrorCode); Assert.IsTrue(ex.Message.Contains("Invalid Something.")); Assert.IsTrue(ex.Message.Contains("AdditionInformation")); }