public HttpResponseMessage Put(int id, [FromBody] SenderViewModel model) { if (ModelState.IsValid) { var sender = new Sender() { SenderId = model.SenderId, ForName1 = model.ForName1, ForName2 = model.ForName2, AddressLine1 = model.AddressLine1, AddressLine2 = model.AddressLine2, AddressLine3 = model.AddressLine3, Country = model.Country, Email = model.Email, Mobile = model.Mobile, HMRCPassword = model.HMRCPassword, HMRCUserId = model.HMRCUserId, Postcode = model.Postcode, SenderPassword = model.SenderPassword, SurName = model.SurName, Telephone = model.Telephone, Title = model.Title, Type = model.Type }; bool status = _senderService.Update(sender); if (status) { return(new HttpResponseMessage(HttpStatusCode.OK)); } throw new HttpResponseException(HttpStatusCode.NotFound); } return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState)); }
public void TestSimpleMessage() { // Create sender and receiver SenderViewModel sender = new SenderViewModel(); ReceiverViewModel receiver = new ReceiverViewModel(); // Register receiver to get messages receiver.Subscribe(); // Set message content sender.SentMessage = "hello"; // Capture orig values int origReceiverData = receiver.ReceivedData; bool origSenderData = sender.ReceivedData; // Send message sender.SendSimpleMessage(); // Assert message was received Assert.AreEqual<string>(sender.SentMessage, receiver.ReceivedMessage); // Assert receiver and sender data have not changed Assert.AreEqual<int>(origReceiverData, receiver.ReceivedData); Assert.AreEqual<bool>(origSenderData, sender.ReceivedData); }
public void TestTwoWayMessage() { // Create sender and receiver SenderViewModel sender = new SenderViewModel(); ReceiverViewModel receiver = new ReceiverViewModel(); // Register receiver to get messages receiver.Subscribe(); // Capture orig values string origReceiverMessage = receiver.ReceivedMessage; int origReceiverData = receiver.ReceivedData; // Set message content sender.SentData = new Random().Next(100); receiver.SentData = true; // Send message sender.SendTwoWayMessage(); // Assert data was received Assert.AreEqual<int>(sender.SentData, receiver.ReceivedData); // Assert data was sent Assert.AreEqual<bool>(receiver.SentData, sender.ReceivedData); // Assert receiver and sender data have not changed Assert.AreEqual<string>(origReceiverMessage, receiver.ReceivedMessage); }
public void TestReceiverUnregister() { // Create sender and receiver SenderViewModel sender = new SenderViewModel(); ReceiverViewModel receiver = new ReceiverViewModel(); // Register receiver to get messages receiver.Subscribe(); // Set message content sender.SentData = new Random().Next(100); // Send message sender.SendOneWayMessage(); // Assert message was received Assert.AreEqual<int>(sender.SentData, receiver.ReceivedData); // Unregister receiver receiver.Unsubscribe(); // Send another message sender.SentData += 100; sender.SendOneWayMessage(); // Assert message was NOT received Assert.AreNotEqual<int>(sender.SentData, receiver.ReceivedData); }
public void TestReceiverCleanup() { // Create sender and receiver SenderViewModel sender = new SenderViewModel(); ReceiverViewModel receiver = new ReceiverViewModel(); // Register receiver to get messages receiver.Subscribe(); // Set message content sender.SentMessage = "hello"; // Send message sender.SendSimpleMessage(); // Assert message was received Assert.AreEqual<string>(sender.SentMessage, receiver.ReceivedMessage); // Try to GC reciever WeakReference weakReceiver = new WeakReference(receiver); receiver = null; GC.Collect(); Thread.Sleep(1000); // Assert the receiver was allowed to be GC'd Assert.IsFalse(weakReceiver.IsAlive, "Receiver has not been GC'd"); // Send another message sender.SentMessage = "hello again"; sender.SendSimpleMessage(); // Assert the receiver is still not alive Assert.IsFalse(weakReceiver.IsAlive, "Receiver has not been GC'd after sending message"); }
public void TestReceiverCleanup() { // Create sender and receiver var sender = new SenderViewModel(); var receiver = new ReceiverViewModel(); // Register receiver to get messages receiver.Subscribe(MessageTokens.Test + "_TestReceiverCleanup"); // Set message content sender.SentMessage = "hello"; // Listen for response var wait = new AutoResetEvent(false); receiver.SimpleMessageReceived += (o, args) => wait.Set(); // Send message sender.SendSimpleMessageAsync(MessageTokens.Test + "_TestReceiverCleanup"); // Wait for response if (!wait.WaitOne(TimeSpan.FromSeconds(15))) Assert.Fail("Message not received in timeout"); // Assert message was received Assert.AreEqual<string>(sender.SentMessage, receiver.ReceivedMessage); // Try to GC reciever var weakReceiver = new WeakReference(receiver); receiver = null; GC.Collect(); #if NETFX_CORE Task.Delay(1000).Wait(); #else Thread.Sleep(1000); #endif // Assert the receiver was allowed to be GC'd Assert.IsFalse(weakReceiver.IsAlive, "Receiver has not been GC'd"); // Send another message sender.SentMessage = "hello again"; sender.SendSimpleMessage(MessageTokens.Test + "_TestReceiverCleanup"); // Assert the receiver is still not alive Assert.IsFalse(weakReceiver.IsAlive, "Receiver has not been GC'd after sending message"); }
public HttpResponseMessage Post([FromBody] SenderViewModel model) { if (ModelState.IsValid) { var sen = new Sender() { //SenderId = model.SenderId, ForName1 = model.ForName1, ForName2 = model.ForName2, AddressLine1 = model.AddressLine1, AddressLine2 = model.AddressLine2, AddressLine3 = model.AddressLine3, Country = model.Country, Email = model.Email, Mobile = model.Mobile, HMRCPassword = model.HMRCPassword, HMRCUserId = model.HMRCUserId, Postcode = model.Postcode, SenderPassword = model.SenderPassword, SurName = model.SurName, Telephone = model.Telephone, Title = model.Title, Type = model.Type }; var sucess = _senderService.Save(sen); if (sucess) { var msg = new HttpResponseMessage(HttpStatusCode.Created); return(msg); } else { throw new HttpResponseException(HttpStatusCode.Conflict); } } else { throw new HttpResponseException(new HttpResponseMessage { StatusCode = HttpStatusCode.BadRequest, ReasonPhrase = "Model validation failed" }); } }
public void TestSimpleMessage() { // Create sender and receiver var sender = new SenderViewModel(); var receiver = new ReceiverViewModel(); // Register receiver to get messages receiver.Subscribe(MessageTokens.Test + "_TestSimpleMessage"); // Set message content sender.SentMessage = "hello"; // Capture orig values int origReceiverData = receiver.ReceivedData; bool origSenderData = sender.ReceivedData; // Listen for response var wait = new AutoResetEvent(false); receiver.SimpleMessageReceived += (o, args) => wait.Set(); // Send message sender.SendSimpleMessageAsync(MessageTokens.Test + "_TestSimpleMessage"); // Wait for response if (!wait.WaitOne(TimeSpan.FromSeconds(15))) Assert.Fail("Message not received in timeout"); // Unregister to receive messages receiver.Unsubscribe(MessageTokens.Test + "_TestSimpleMessage"); // Assert message was received Assert.AreEqual<string>(sender.SentMessage, receiver.ReceivedMessage); // Assert receiver and sender data have not changed Assert.AreEqual<int>(origReceiverData, receiver.ReceivedData); Assert.AreEqual<bool>(origSenderData, sender.ReceivedData); }
public void TestReceiverUnregister() { // Create sender and receiver var sender = new SenderViewModel(); var receiver = new ReceiverViewModel(); // Register receiver to get messages receiver.Subscribe(MessageTokens.Test + "_TestReceiverUnregister"); // Set message content sender.SentData = new Random().Next(100); // Listen for response var wait = new AutoResetEvent(false); receiver.OneWayMessageReceived += (o, args) => wait.Set(); // Send message sender.SendOneWayMessageAsync(MessageTokens.Test + "_TestReceiverUnregister"); // Wait for response if (!wait.WaitOne(TimeSpan.FromSeconds(15))) Assert.Fail("Message not received in timeout"); // Assert message was received Assert.AreEqual<int>(sender.SentData, receiver.ReceivedData); // Unregister receiver receiver.Unsubscribe(MessageTokens.Test + "_TestReceiverUnregister"); // Send another message sender.SentData += 100; sender.SendOneWayMessage(MessageTokens.Test + "_TestReceiverUnregister"); // Assert message was NOT received Assert.AreNotEqual<int>(sender.SentData, receiver.ReceivedData); }
public void TestRepeatSend() { // Create sender and receiver SenderViewModel sender = new SenderViewModel(); ReceiverViewModel receiver = new ReceiverViewModel(); // Register receiver to get messages receiver.Subscribe(); // Set init value int val = new Random().Next(100); // Iterate 3 times for (int i = 0; i < 3; i++) { // Set message content sender.SentData = val; // Send message sender.SendOneWayMessage(); // Assert message was received Assert.AreEqual<int>(sender.SentData, receiver.ReceivedData); // Increment value val += 100; } }
public void TestRepeatSend() { // Create sender and receiver var sender = new SenderViewModel(); var receiver = new ReceiverViewModel(); // Register receiver to get messages receiver.Subscribe(MessageTokens.Test + "_TestRepeatSend"); // Set init value int val = new Random().Next(100); // Iterate 3 times for (int i = 0; i < 3; i++) { // Set message content sender.SentData = val; // Listen for response var wait = new AutoResetEvent(false); receiver.OneWayMessageReceived += (o, args) => wait.Set(); // Send message sender.SendOneWayMessageAsync(MessageTokens.Test + "_TestRepeatSend"); // Wait for response if (!wait.WaitOne(TimeSpan.FromSeconds(15))) Assert.Fail("Message not received in timeout"); // Assert message was received Assert.AreEqual<int>(sender.SentData, receiver.ReceivedData); // Increment value val += 100; } // Unregister to receive messages receiver.Unsubscribe(MessageTokens.Test + "_TestRepeatSend"); }