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);
        }
Exemple #2
0
        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;
        }
Exemple #4
0
        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);
        }