public async Task StartRecognizeContentSendsUserSpecifiedLanguage(string language) { var mockResponse = new MockResponse(202); mockResponse.AddHeader(new HttpHeader(Constants.OperationLocationHeader, "host/layout/analyzeResults/00000000000000000000000000000000")); var mockTransport = new MockTransport(new[] { mockResponse, mockResponse }); var options = new FormRecognizerClientOptions() { Transport = mockTransport }; var client = CreateInstrumentedClient(options); using var stream = FormRecognizerTestEnvironment.CreateStream(TestFile.Form1); var recognizeOptions = new RecognizeContentOptions { Language = language }; await client.StartRecognizeContentAsync(stream, recognizeOptions); var requestUriQuery = mockTransport.Requests.Single().Uri.Query; var languageQuery = "language="; var index = requestUriQuery.IndexOf(languageQuery); var length = requestUriQuery.Length - (index + languageQuery.Length); Assert.AreEqual(language, requestUriQuery.Substring(index + languageQuery.Length, length)); }
public void StartRecognizeContentRespectsTheCancellationToken() { var client = CreateInstrumentedClient(); var options = new RecognizeContentOptions { ContentType = FormContentType.Pdf }; using var stream = new MemoryStream(Array.Empty <byte>()); using var cancellationSource = new CancellationTokenSource(); cancellationSource.Cancel(); Assert.ThrowsAsync(Is.InstanceOf <OperationCanceledException>(), async() => await client.StartRecognizeContentAsync(stream, options, cancellationSource.Token)); }
public async Task StartRecognizeContentSendsUserSpecifiedContentType() { var mockResponse = new MockResponse(202); mockResponse.AddHeader(new HttpHeader(Constants.OperationLocationHeader, "host/layout/analyzeResults/00000000000000000000000000000000")); var mockTransport = new MockTransport(new[] { mockResponse, mockResponse }); var options = new FormRecognizerClientOptions() { Transport = mockTransport }; var client = CreateInstrumentedClient(options); using var stream = FormRecognizerTestEnvironment.CreateStream(TestFile.InvoiceLeTiff); var recognizeOptions = new RecognizeContentOptions { ContentType = FormContentType.Jpeg }; await client.StartRecognizeContentAsync(stream, recognizeOptions); var request = mockTransport.Requests.Single(); Assert.True(request.Headers.TryGetValue("Content-Type", out var contentType)); Assert.AreEqual("image/jpeg", contentType); }
public async Task StartRecognizeContentCanParseBlankPage() { var client = CreateFormRecognizerClient(); var options = new RecognizeContentOptions(); RecognizeContentOperation operation; using var stream = FormRecognizerTestEnvironment.CreateStream(TestFile.Blank); using (Recording.DisableRequestBodyRecording()) { operation = await client.StartRecognizeContentAsync(stream, options); } FormPageCollection formPages = await operation.WaitForCompletionAsync(); var blankPage = formPages.Single(); ValidateFormPage(blankPage, includeFieldElements: true, expectedPageNumber: 1); Assert.AreEqual(0, blankPage.Lines.Count); Assert.AreEqual(0, blankPage.Tables.Count); Assert.AreEqual(0, blankPage.SelectionMarks.Count); }