public async Task <IActionResult> Register(RegisterUserViewModel model) { if (ModelState.IsValid) { var user = new User { UserName = model.Username }; var createResult = await _userManager.CreateAsync(user, model.Password); if (createResult.Succeeded) { //TODO: Create and store an Email into database Guid emailId = Guid.NewGuid();//set this equal to the Id of the created Email var queueConfig = _configuration.GetSection("QueueConfiguration"); var msSender = new MessageQueueSender <QueueItem>(queueConfig["HostName"], queueConfig["UserName"], queueConfig["Password"]); msSender.Send(new QueueItem { Id = emailId }, queueConfig["Exchange"], queueConfig["RoutingKey"]); await _signInManager.SignInAsync(user, false); return(RedirectToAction("Index", "Home")); } else { foreach (var error in createResult.Errors) { ModelState.AddModelError("", error.Description); } } } return(View()); }
public void TestSend() { // arrange var mq = new MessageQueueMock(); mq.Setup(); using (var scope = Factory.Current.BeginLifetimeScope(b => { b.RegisterInstance(mq.Object).As <IMessageQueue>(); })) using (Factory.SetCurrentScope(scope)) { var sender = new MessageQueueSender(); // act sender.Send("foo", "test"); // assert mq.Receive("foo").Should().Be("\"test\""); } }