private void SendAndExpectFailure(Event evt)
 {
     try
     {
         Console.WriteLine("sending evt and expecting failure");
         _client.SendEvents(new[] {evt});
         Assert.Fail("Exception should be thrown when server is down");
     }
     catch (Exception ex)
     {
         Assert.AreNotEqual(Client.State.Connected, _client.ConnectionState);
         Console.WriteLine("got send exception: {0}", ex.Message);
     }
 }
 private void SendAndExpectFailure(Event evt)
 {
     try
     {
         Console.WriteLine("sending evt and expecting failure");
         _client.SendEvents(new[] { evt });
         Assert.Fail("Exception should be thrown when server is down");
     }
     catch (Exception ex)
     {
         Assert.AreNotEqual(Client.State.Connected, _client.ConnectionState);
         Console.WriteLine("got send exception: {0}", ex.Message);
     }
 }
        private void SendUntilSuccessfulAndAssert(Event evt, long timeoutMs = 6000)
        {
            var startTime = DateTime.Now;

            while (true)
            {
                try
                {
                    Console.WriteLine("sending evt until successful");
                    _client.SendEvents(new [] { evt });
                    break;
                }
                catch (IOException ex)
                {
                    Assert.AreNotEqual(Client.State.Connected, _client.ConnectionState);
                    Console.WriteLine(string.Format("send exception: {0}", ex));
                    Thread.Sleep(500);
                }
                if ((DateTime.Now - startTime).TotalMilliseconds > timeoutMs)
                {
                    Assert.Fail("Client could not reconnect within timeout period");
                }
            }
            Assert.AreEqual(Client.State.Connected, _client.ConnectionState);
            Assert.AreEqual(1, _server.TcpMessageQueue.Count);

            var msg = _server.TcpMessageQueue.Dequeue();

            Assert.AreEqual(1, msg.events.Count);

            var serverEvent = msg.events[0];

            Assert.AreEqual(evt.Service, serverEvent.service);
            Assert.AreEqual(evt.State, serverEvent.state);
            Assert.AreEqual(evt.Description, serverEvent.description);
            Assert.AreEqual(evt.Metric, serverEvent.metric_f);
        }
        private void SendUntilSuccessfulAndAssert(Event evt, long timeoutMs = 6000)
        {
            var startTime = DateTime.Now;
            while (true)
            {
                try
                {
                    Console.WriteLine("sending evt until successful");
                    _client.SendEvents(new [] {evt});
                    break;
                }
                catch (IOException ex)
                {
                    Assert.AreNotEqual(Client.State.Connected, _client.ConnectionState);
                    Console.WriteLine(string.Format("send exception: {0}", ex));
                    Thread.Sleep(500);
                }
                if ((DateTime.Now - startTime).TotalMilliseconds > timeoutMs)
                {
                    Assert.Fail("Client could not reconnect within timeout period");
                }
            }
            Assert.AreEqual(Client.State.Connected, _client.ConnectionState);
            Assert.AreEqual(1, _server.TcpMessageQueue.Count);

            var msg = _server.TcpMessageQueue.Dequeue();
            Assert.AreEqual(1, msg.events.Count);

            var serverEvent = msg.events[0];
            Assert.AreEqual(evt.Service, serverEvent.service);
            Assert.AreEqual(evt.State, serverEvent.state);
            Assert.AreEqual(evt.Description, serverEvent.description);
            Assert.AreEqual(evt.Metric, serverEvent.metric_f);
        }
Example #5
0
 public void SendEvent(string service, string state, string description, float metric, int ttl = 0)
 {
     var ev = new Event(service, state, description, metric, ttl);
     SendEvents(new[] {ev});
 }