public void Test_NTMNC_TMC_AddEventToQueue() { //start up controller _controller = new TreeModelNodeControls.TreeModelController(_view, _nodeViewFactory, null, "", ""); _controller.Start(); //create event IpcController.IpcEvent evt = new IpcController.IpcEvent(new Guid() , DateTime.Now , "TestApp" , "TestInstance" , "TestEventType" , "Test Event Msg" , "Test Event Msg Detail" , "Test Node ID" , "Test Parent Node ID"); TestTreeModelEventImpl evnt = new TestTreeModelEventImpl(evt, "1", "TestNodeText", "2"); //add to queue _controller.AddEventToQueue(evnt); System.Threading.Thread.Sleep(1000); //assertions Niawa.TreeModelNodeControls.TreeModelNode node = _controller.TreeModel.GetNode("1"); Assert.AreEqual("1", node.NodeID, "Node created from event NodeID doesn't match expectation"); Assert.AreEqual("2", node.ParentNodeID, "Node created from event ParentNodeID doesn't match expectation"); Assert.AreEqual("TestNodeText", node.NodeText, "Node created from event NodeText doesn't match expectation"); TestTreeModelNodeViewImpl view = (TestTreeModelNodeViewImpl) _controller.TreeModel.GetNode("1").NodeView; Assert.AreEqual(evnt, view.LatestEvent, "Event added to node doesn't match expectation when Latest Event interrogated"); //cleanup _controller.Stop(); _controller.Dispose(); }
/// <summary> /// /// </summary> /// <param name="startingNumber"></param> /// <returns></returns> private int WriteMessage(int startingNumber) { logger.Info("[" + _eventType + "] Writing message " + startingNumber); //write some data System.Guid eventGuid = System.Guid.NewGuid(); DateTime eventDate = DateTime.Now; string testAppName = "TestIpcEventWriter"; string testAppInstance = "TestIpcEventWriterInstance"; string testData = "test data " + startingNumber; string testDataDetail = "test data detail " + startingNumber; Niawa.IpcController.IpcEvent msg = new IpcController.IpcEvent(eventGuid, eventDate, testAppName, testAppInstance, _eventType, testData, testDataDetail, _nodeID, _parentNodeID); _writer.Write(msg); startingNumber++; return startingNumber; }
/// <summary> /// /// </summary> /// <param name="data"></param> public void WebApiCommandListenThreadImpl(object data) { while (true) { if (webApiCmdReader.Messages.Count > 0) { WebNotify.IpcEventWebAPIAdapter.NiawaWebMessage message = webApiCmdReader.Messages.Dequeue(); logger.Info("Received Web API Command message type [" + message.Id + "]"); switch(message.Id) { case 1: //invoke a status update logger.Info("Invoking a status update"); IpcController.IpcEvent evt = new IpcController.IpcEvent(Guid.NewGuid(), DateTime.Now, _applicationName, _hostname, "StatusReport", "", "", "", ""); nna.CmdReaderImpl(evt); break; default: break; } } else { //no new messages } System.Threading.Thread.Sleep(100); } }
public void Test_NIC_ICW_Write() { string TEST_IPC_TYPE = "TEST_IPC_TYPE_" + Guid.NewGuid().ToString(); Niawa.IpcController.IpcEventWriter writer = new IpcController.IpcEventWriter("TestIpcEventWriter", TEST_IPC_TYPE, TEST_BUFFER_LENGTH, _utilsBus, false); Niawa.IpcController.IpcEventReader reader = new IpcController.IpcEventReader(TEST_IPC_TYPE, TEST_BUFFER_LENGTH, _utilsBus, false); writer.Start(); reader.Start(); System.Threading.Thread.Sleep(100); //assertions Assert.IsTrue(writer.IsStarted, "Writer started value doesn't match expectation after starting writer"); Assert.IsTrue(reader.IsStarted, "Reader started value doesn't match expectation after starting reader"); //assertion Assert.AreEqual(0, reader.CountMessagesInQueue(), "Count of messages in read buffer expected to be 0 before writing message"); //write some data System.Guid eventGuid = System.Guid.NewGuid(); DateTime eventDate = DateTime.Now; string testAppName = "TestIpcEventWriter"; string testAppInstance = "TestIpcEventWriterInstance"; string testData = "test data"; string testDataDetail = "test data detail"; string nodeID = "testNodeID"; string parentNodeID = "testParentNodeID"; Niawa.IpcController.IpcEvent msg = new IpcController.IpcEvent(eventGuid, eventDate, testAppName, testAppInstance, TEST_IPC_TYPE, testData, testDataDetail, nodeID, parentNodeID); writer.Write(msg); System.Threading.Thread.Sleep(500); //assertion Assert.AreEqual(1, reader.CountMessagesInQueue(), "Count of messages in read buffer expected to be 1 after writing message"); //retrieve message Niawa.IpcController.IpcEvent newMsg = reader.ReadNextEvent(); Assert.AreEqual(testAppInstance, msg.ApplicationInstance, "Message received from buffer doesn't have expected Application Instance"); Assert.AreEqual(testAppName, msg.ApplicationName, "Message received from buffer doesn't have expected Application Name"); Assert.AreEqual(eventDate, msg.EventDate, "Message received from buffer doesn't have expected Event Date"); Assert.AreEqual(eventGuid, msg.EventID, "Message received from buffer doesn't have expected Event ID"); Assert.AreEqual(testData, msg.EventMessage, "Message received from buffer doesn't have expected Event Message"); Assert.AreEqual(testDataDetail, msg.EventMessageDetail, "Message received from buffer doesn't have expected Event Message Detail"); Assert.AreEqual(TEST_IPC_TYPE, msg.EventType, "Message received from buffer doesn't have expected Event Type"); Assert.AreEqual(nodeID, msg.NodeID, "Message received from buffer doesn't have expected Node ID"); Assert.AreEqual(msg.ParentNodeID , parentNodeID, "Message received from buffer doesn't have epxected Parent Node ID"); //stop writer.Stop(); reader.Stop(); }