public void SignUpThousandCoursesInFiveSecondsTest()
        {
            var message = new SignUpIntegrationEvent("RabbitMq Overview", "*****@*****.**", new System.DateTime(1990, 12, 16), new System.Guid("57D92BF1-7AD6-4ACC-901C-8A54ACB39E76"));

            _messageBus.Setup(p => p.PublishAsync(message)).Returns(Task.FromResult(true));

            var cancellationToken   = new System.Threading.CancellationToken();
            var signUpCourseRequest = new SignUpCourseRequest()
            {
                Name        = "Torres",
                Email       = "*****@*****.**",
                DateOfBirth = new System.DateTime(1990, 12, 16),
                CourseId    = new System.Guid("57D92BF1-7AD6-4ACC-901C-8A54ACB39E76")
            };

            var handler = new API.Commands.Handlers.SignUpCourseHandler(_messageBus.Object);

            var lastResponse = new API.Commands.Responses.SignUpCourseResponse();

            for (int i = 0; i < 1000; i++)
            {
                lastResponse = handler.Handle(signUpCourseRequest, cancellationToken).Result;
            }

            Assert.IsTrue(lastResponse.ValidationResult.IsValid == true);
        }
예제 #2
0
 public async Task <SignUpCourseResponse> SignUpCourse(
     [FromServices] IMediator mediator,
     [FromBody] SignUpCourseRequest command)
 {
     return(await mediator.Send(command));
 }