public PingObject Ping()
        {
            PingObject ping = new PingObject();

            string rabbitMsg        = "Rabbit status: ";
            string postgresMsg      = "Postgres status: ";
            string rabbitOkMsg      = rabbitMsg + "OK";
            string postgresOKMsg    = postgresMsg + "OK";
            string rabbitErrorMsg   = rabbitMsg + "ERROR ";
            string postgresErrorMsg = postgresMsg + "ERROR ";

            try
            {
                bool retorno = Context.Database.CanConnect();

                if (retorno)
                {
                    ping.PostgresMessage = rabbitOkMsg;
                    ping.RabbitMessage   = postgresOKMsg;
                }
                else
                {
                    ping.PostgresMessage = postgresErrorMsg;
                    ping.RabbitMessage   = rabbitErrorMsg;
                }
            }
            catch (Exception e)
            {
                ping.PostgresMessage = postgresErrorMsg + e.Message;
                ping.RabbitMessage   = rabbitErrorMsg + e.Message;
            }

            return(ping);
        }
예제 #2
0
 private void UpdateDisplayedMetrics(PingObject pingObject)
 {
     UpdateLabel(lblGoodRx, $"Good Rx: {pingObject.GoodRx}");
     UpdateLabel(lblBadRx, $"Bad Rx: {pingObject.BadRx}");
     UpdateLabel(lblPercentage, $"% Loss: {string.Format("{0:0.00}", pingObject.PercentLoss)}");
     UpdateLabel(lblLongestRx, $"Longest Rx: {pingObject.LongestRoundTripTime}");
     UpdateLabel(lblShortestRx, $"Shortest Rx: {pingObject.ShortestRoundTripTime}");
     UpdateLabel(lblAverage, $"Average Rx: { pingObject.AverageRoundTripTime}");
 }
예제 #3
0
 private void _backgroundWorker_BeginPing(object sender, DoWorkEventArgs e)
 {
     if (FieldsAreValid())
     {
         ClearMonitor();
         var        backgroundWorker     = (BackgroundWorker)sender;
         char       pingStringDelimiter  = ';';
         string     hostIPAddresss       = txtHostIPAddress.Text;
         string     logPath              = txtLogPath.Text;
         int        iterations           = int.Parse(txtIterations.Text);
         int        bytesToSend          = int.Parse(txtBytesToSend.Text);
         int        timeout              = int.Parse(txtTimeout.Text);
         PingObject backgroundPingObject = new PingObject(hostIPAddresss, bytesToSend, timeout);
         SetGroup(grpPingSettings, false);
         EnableOrDisableControl(btnStopPing, true);
         UpdateLabel(lblOutput, "");
         if (chkLog.Checked)
         {
             log = new PingLog(logPath, GetCurrentTimeStamp().Replace(":", "-"));
         }
         int loopCounter = 0;
         while (loopCounter < iterations)
         {
             if (backgroundWorker.CancellationPending)
             {
                 e.Cancel = true;
                 return;
             }
             bool pingSuccess = backgroundPingObject.DoOnePing();
             UpdateDisplayedMetrics(backgroundPingObject);
             string pingString = GeneratePingString(pingStringDelimiter, backgroundPingObject.TotalPings, GetCurrentTimeStamp(), (pingSuccess ? "success" : "failure"), backgroundPingObject.LastRoundTripTime, backgroundPingObject.GoodRx, backgroundPingObject.BadRx, backgroundPingObject.PercentLoss);
             if (chkLog.Checked)
             {
                 log.WriteLineToLog(pingString);
             }
             UpdateMonitor(pingString, pingStringDelimiter);
             AppendOutputText(pingString);
             Thread.Sleep(1000);
             if (optFinite.Checked)
             {
                 loopCounter++;
             }
         }
     }
     else
     {
         MessageBox.Show("One of your fields is not right.  Make sure all information is correctly filled out.", "Field empty error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
        public void Ping()
        {
            PingObject ping = new PingObject()
            {
                PostgresMessage = "Postgres status: OK",
                RabbitMessage   = "Rabbit status: OK"
            };
            var mock = new Mock <IPingService>();

            mock.Setup(m => m.Ping()).Returns(ping);

            var controller = new CostsController(
                (new Mock <ICostsService>()).Object,
                (new Mock <ILoggerManager>()).Object,
                mock.Object);

            var result   = controller.Ping();
            var okResult = result as OkObjectResult;

            mock.VerifyAll();

            Assert.AreEqual(200, okResult.StatusCode);
        }
예제 #5
0
 public void OnPing(IObjectConnection connection, PingObject pingObject)
 {
     connection.SendObject(new PongObject());
 }
예제 #6
0
 public void TearDown()
 {
     testPingObject = null;
 }
예제 #7
0
 public void setUp()
 {
     testPingObject = new PingObject("8.8.8.8", 32, 3000);
 }