Esempio n. 1
0
        public void TestLogServerFromClient()
        {
            // Arrange
            var endpoint           = "tcp://127.0.0.1:55011";
            var nsEndpoint         = "tcp://127.0.0.1:55021";
            var msgPushSocket      = "This is a message from a PUSH zsocket.";
            var msgLogger          = "This is a test message from the LoggerClient.";
            var clientName         = "Test Client";
            var systemRegistration = new SystemRegistration(clientName, endpoint)
            {
                Id = 1
            };
            var logList      = new List <string>();
            var mockLog      = new Mock <ILogger>();
            var loggerServer = new LoggerServer("Test Logger Server", endpoint, nsEndpoint, mockLog.Object);

            mockLog.Setup(l => l.WriteLine(It.IsAny <string>())).Callback((string msg) => {
                logList.Add(msg);
                if (logList.Count > 1)
                {
                    loggerServer.Stop();
                }
            });

            var task = Task.Run(() => loggerServer.StartAsync(endpoint));

            Thread.Sleep(300);

            var pushContext = new ZContext();
            var pushSocket  = new ZSocket(pushContext, ZSocketType.PUSH);

            pushSocket.Connect(endpoint);

            var loggerClient = new LoggerClient(endpoint, clientName, nsEndpoint);
            var vts          = new VectorTimeStamp();

            vts.Update(systemRegistration.Id, DateTime.Now);

            // Act
            loggerClient.WriteLine(msgLogger, vts);
            Thread.Sleep(25);
            pushSocket.Send(new ZFrame(msgPushSocket));
            task.Wait();

            // Assert
            Assert.AreEqual(2, logList.Count);
            Assert.AreEqual($"{clientName}:{vts}: {msgLogger}", logList[0]);
            Assert.AreEqual(msgPushSocket, logList[1]);
        }
 public void WriteLine(string message, VectorTimeStamp vts)
 {
     WriteLine($"{ClientName}:{vts}: {message}");
 }
        public void WriteLine(string message, int id, DateTime?date = null)
        {
            var vts = new VectorTimeStamp().Update(id, date ?? DateTime.Now);

            WriteLine(message, vts);
        }
 public void WriteLine(string message, VectorTimeStamp vts)
 {
     Log.Debug($"{vts} - {message}");
 }
        public void WriteLine(string message, int id, DateTime?date = null)
        {
            var vts = new VectorTimeStamp().Update(id, date ?? DateTime.Now);

            Log.Debug($"{vts} - {message}");
        }