public async void Function_Returns_Ok_Result_And_Adds_Message_To_Collector_When_Order_Is_Valid() { var order = new RecognitionOrder() { DestinationFolder = "testFolder", EmailAddress = "*****@*****.**", PhoneNumber = "+123456789", PhotosSource = "testSource", RecognitionName = "testName", PatternFaces = new string[] { } }; var queueCollector = new AsyncCollector <RecognitionOrder>(); var mockValidator = new Mock <IRecOrderValidator>(); mockValidator.Setup(x => x.IsValid(It.IsAny <RecognitionOrder>())).Returns(true); var query = new Dictionary <String, StringValues>(); var body = JsonConvert.SerializeObject(order); var result = await RecognitionStart.Run(req : HttpRequestSetup(query, body), validator : mockValidator.Object, queueWithRecOrders : queueCollector, log : log); Assert.IsType <OkResult>(result); Assert.NotEmpty(queueCollector.Items); Assert.Equal(order.DestinationFolder, queueCollector.Items[0].DestinationFolder); Assert.Equal(order.EmailAddress, queueCollector.Items[0].EmailAddress); Assert.Equal(order.PhoneNumber, queueCollector.Items[0].PhoneNumber); Assert.Equal(order.PhotosSource, queueCollector.Items[0].PhotosSource); Assert.Equal(order.RecognitionName, queueCollector.Items[0].RecognitionName); Assert.Equal(order.PatternFaces, queueCollector.Items[0].PatternFaces); }
public async Task Recieve_Queue_And_Emit_To_Table() { var col = new AsyncCollector <Message>(); var json = "{\"name\": \"ushio\"}"; await DotNet.QueueTrigger.RunAsync(json, col, log); Assert.AreEqual(json, col.Items[0].Text); }
private void LoadData(object sender, EventArgs e) { // Create source with "Working" handler. var source = new AsyncCollector <string>(GenerateData()); source.Working += (o, working) => Status.IsRunning = working; // Assign item source. List.ItemsSource = source; }
public async void SendEmail(OutgoingEmail email) { var queue = new AsyncCollector <OutgoingEmail>(); var tbTrack = new AsyncCollector <SendEmailTrack>(); var response = (ObjectResult)await Email.SendEmail(CreateMockRequest(email).Object, queue, tbTrack, logger); Assert.Equal(200, response.StatusCode); Assert.NotNull(((SendMailResponse)response.Value).TrackerId); }
public async Task TestIfDocumentsAreUpserted() { Mock<IBulkExecutor> mockBulkExecutor = new Mock<IBulkExecutor>(); Mock<ILogger> mockLog = new Mock<ILogger>(); AsyncCollector<Document> postMortemCol = new AsyncCollector<Document>(); DocumentClient client = new DocumentClient(new Uri(configuration["EndPoint"]), configuration["AuthKey"]); DocumentCollection container = client.CreateDocumentCollectionQuery(UriFactory.CreateDatabaseUri(configuration["TargetDatabase"])) .Where(c => c.Id == configuration["TargetCollection"]).AsEnumerable().FirstOrDefault(); IBulkExecutor bulkExecutor = new BulkExecutor(client, container); await bulkExecutor.InitializeAsync(); IEnumerable<string> bulkDocs = Utilities.GenerateDocumentsWithRandomIdAndPk(5000); BulkImportResponse bulkImportResponse = await bulkExecutor.BulkImportAsync(bulkDocs, false); List<Document> fakeBadDocsBatch = new List<Document>(); Document doc = new Document(); doc.Id = "0f4adabc-d461-495f-bdd3-4f8877ae7f3f"; for (int i = 0; i < 10; i++) { fakeBadDocsBatch.Add(doc); } ReadOnlyCollection<Document> readOnlyDocs = fakeBadDocsBatch.AsReadOnly(); mockBulkExecutor.Setup(bulkExecutorFake => bulkExecutorFake.InitializeAsync()) .Verifiable(); mockBulkExecutor.Setup(bulkExecutorFake => bulkExecutorFake.BulkImportAsync(It.IsAny<ReadOnlyCollection<Document>>(), true, true, null, It.IsAny<int>(), It.IsAny<CancellationToken>())) .Returns(() => Task.FromResult(bulkImportResponse)) //Add docs to the badInputDocuments list to test whether the post-mortem queue is employed .Callback(() => bulkImportResponse.BadInputDocuments.AddRange(fakeBadDocsBatch)); DocumentFeedMigrator migrator = new DocumentFeedMigrator(mockBulkExecutor.Object); await migrator.Run(postMortemCol, readOnlyDocs, mockLog.Object); Assert.AreEqual(postMortemCol.Count(), 10); mockBulkExecutor.Verify( bulkExecutorFake => bulkExecutorFake.BulkImportAsync( It.IsAny<ReadOnlyCollection<Document>>(), true, true, null, It.IsAny<int>(), It.IsAny<CancellationToken>()), Times.Exactly(1)); }
private void UpdateCaption(object sender, TextChangedEventArgs e) { // Stop and dispose the old source, preventing it from keeping it's resources open. _lastSource?.Dispose(); // Create new source with "Working" handler. var source = new AsyncCollector <string>(GenerateData(e.NewTextValue)); source.Working += (o, working) => Status.IsRunning = working; // Assign item source. List.ItemsSource = _lastSource = source; }
public async void RecognitionStart_Returns_Bad_Request_When_Order_Not_Valid() { var order = new RecognitionOrder(); var queueCollector = new AsyncCollector <RecognitionOrder>(); var mockValidator = new Mock <IRecOrderValidator>(); mockValidator.Setup(x => x.IsValid(It.IsAny <RecognitionOrder>())).Returns(false); var body = JsonConvert.SerializeObject(order); var request = HttpRequestSetup(body, HttpMethod.Post, "https://localhost"); var result = await RecognitionStart.Run(req : request, validator : mockValidator.Object, queueWithRecOrders : queueCollector, log : log); var resultObject = result; Assert.Equal(HttpStatusCode.BadRequest, resultObject.StatusCode); }
public async void Function_Returns_Bad_Request_When_Order_Not_Valid() { var order = new RecognitionOrder(); var queueCollector = new AsyncCollector <RecognitionOrder>(); var mockValidator = new Mock <IRecOrderValidator>(); mockValidator.Setup(x => x.IsValid(It.IsAny <RecognitionOrder>())).Returns(false); var query = new Dictionary <String, StringValues>(); var body = JsonConvert.SerializeObject(order); var result = await RecognitionStart.Run(req : HttpRequestSetup(query, body), validator : mockValidator.Object, queueWithRecOrders : queueCollector, log : log); var resultObject = (BadRequestObjectResult)result; Assert.Equal("Provided data is invalid", resultObject.Value); }
public async void RecognitionStart_Adds_Message_To_Collector_When_Order_Is_Valid() { var order = new RecognitionOrder() { DestinationFolder = "testFolder", EmailAddress = "*****@*****.**", PhoneNumber = "+48123456789", SourcePath = "testSource", RecognitionName = "testName", PatternFaces = new string[] { } }; var queueCollector = new AsyncCollector <RecognitionOrder>(); var mockValidator = new Mock <IRecOrderValidator>(); mockValidator.Setup(x => x.IsValid(It.IsAny <RecognitionOrder>())).Returns(true); var body = JsonConvert.SerializeObject(order); var request = HttpRequestSetup(body, HttpMethod.Post, "https://localhost"); await RecognitionStart.Run(req : request, validator : mockValidator.Object, queueWithRecOrders : queueCollector, log : log); Assert.NotEmpty(queueCollector.Items); Assert.Equal(order.EmailAddress, queueCollector.Items[0].EmailAddress); }