コード例 #1
0
        public void AddNumberForEvent_With_event_not_found_return_message()

        {
            List <NotificationEntity> notificationEntities = new List <NotificationEntity>();

            notificationEntities.Add(new NotificationEntity {
                RowKey = "track", ProgramId = 1, SportId = 1, Message = "this track event"
            });
            notificationEntities.Add(new NotificationEntity {
                RowKey = "polar", ProgramId = 2, SportId = 2, Message = "this polar plunge event"
            });
            Mock <IRefRepository> mockRefRepository = new Mock <IRefRepository>();

            mockRefRepository.Setup(repository => repository.GetEventByName(notificationEntities[0].RowKey)).ReturnsAsync(notificationEntities[0]);
            mockRefRepository.Setup(repository => repository.GetEventByName(notificationEntities[1].RowKey)).ReturnsAsync(notificationEntities[1]);
            RegistrantWorker worker = new RegistrantWorker(_mockTrainingRepository.Object, mockRefRepository.Object);
            EventTextDto     dto    = new EventTextDto {
                Zip = "22193", City = "Dale City", From = "17035551212", Message = "Bad"
            };

            var actual = worker.AddNumberForEvent(dto);

            Assert.Equal("You text Bad", actual.Result.Message);
            _mockTrainingRepository.Verify(mock => mock.AddEvent(It.IsAny <EventInformation>()), Times.Never);
            //Assert.Equal(email1.Email, actual.Email1);
            //Assert.Equal(email2.Id, actual.RegistrantEmail2Id);
            //Assert.Equal(email2.Email, actual.Email2);
            //Assert.Equal(email3.Id, actual.RegistrantEmail3Id);
            //Assert.Equal(email3.Email, actual.Email3);
        }
コード例 #2
0
        public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
            ILogger log)
        {
            log.LogInformation("C# PWSO receive sms message process.");

            var requestBody = await new StreamReader(req.Body).ReadToEndAsync();

            log.LogInformation(requestBody);
            var formValues = requestBody.Split('&')
                             .Select(value => value.Split('='))
                             .ToDictionary(pair => Uri.UnescapeDataString(pair[0]).Replace("+", " "),
                                           pair => Uri.UnescapeDataString(pair[1]).Replace("+", " "));
            var dto = new EventTextDto
            {
                Message = formValues["Body"],
                From    = formValues["From"],
                Zip     = formValues["FromZip"],
                City    = formValues["FromCity"]
            };
            //var dto = new EventTextDto{Message = "Track", From = "17035901821", Zip = "22193", City = "Dale City"} ;
            string responseMessage;

            try
            {
                var connectionString      = System.Environment.GetEnvironmentVariable("SQLAZURECONNSTR_TrainingModel");
                var azureConnectionString = System.Environment.GetEnvironmentVariable("AzureStorageConnectionString");
                var options = new DbContextOptionsBuilder <PwsodbContext>().UseSqlServer(connectionString ?? throw new InvalidOperationException()).Options;
                var context = new PwsodbContext(options);
                ITrainingRepository trainingRepository = new TrainingRepository(context);
                IRefRepository      refRepository      = new RefRepository(azureConnectionString);
                var worker       = new RegistrantWorker(trainingRepository, refRepository);
                var notification = worker.AddNumberForEvent(dto);
                responseMessage = notification.Result.Message;
            }
            catch (Exception e)
            {
                log.LogError("Fatal Error: " + e.ToString());

                throw;
            }

            responseMessage += ". This message is from the PWSO Notification System.";
            return(new OkObjectResult(responseMessage));
        }