public void CanHandlePongMessages() { var selfData = new SelfBotData { Id = "BOTID" }; var message = new Pong { Type = EventType.Pong }; var handler = new PingHandler(); var result = handler.CanHandle(message); Assert.True(result); }
public void CanNotHandleInvalidPingMessages() { var selfData = new SelfBotData { Id = "BOTID" }; var message = new PlainMessage { Type = EventType.Message, Subtype = MessageSubType.PlainMessage, Text = "<@BOTID>: pingdom" }; var handler = new PingHandler(); var result = handler.CanHandle(message); Assert.False(result); }
public void CanHandlePongMessages() { var selfData = new SelfBotData { Id = "BOTID" }; var message = new Pong { Type = EventType.Pong }; var handler = new PingHandler(); var result = handler.CanHandle(message); Assert.True(result); }
public void CanNotHandleInvalidPingMessages() { var selfData = new SelfBotData { Id = "BOTID" }; var message = new PlainMessage { Type = EventType.Message, Subtype = MessageSubType.PlainMessage, Text = "<@BOTID>: pingdom" }; var handler = new PingHandler(); var result = handler.CanHandle(message); Assert.False(result); }
public void DoesntPingWhenThereIsActivity() { var selfData = new SelfBotData { Id = "BOTID" }; var mockState = new Mock <IBotState>(); mockState.Setup(m => m.Connected).Returns(true).Verifiable(); var mockService = new Mock <IBotServices>(); mockService.Setup(m => m.SendRawMessage(It.Is <OutputMessage>(om => om.Type == "ping"))) .Verifiable(); var handler = new PingHandler { BotState = mockState.Object, BotServices = mockService.Object, PingFrequencyMs = 200 }; var message = new PlainMessage { Type = EventType.Message, Subtype = MessageSubType.PlainMessage, Text = "<@BOTID>: pingdom" }; Thread.Sleep(250); foreach (var loop in Enumerable.Range(1, 6)) { handler.CanHandle(message); Thread.Sleep(100); } mockService.Verify(m => m.SendRawMessage(It.Is <OutputMessage>(om => om.Type == "ping")), Times.Exactly(1)); }
public void DoesntPingWhenThereIsActivity() { var selfData = new SelfBotData { Id = "BOTID" }; var mockState = new Mock<IBotState>(); mockState.Setup(m => m.Connected).Returns(true).Verifiable(); var mockService = new Mock<IBotServices>(); mockService.Setup(m => m.SendRawMessage(It.Is<OutputMessage>(om => om.Type == "ping"))) .Verifiable(); var handler = new PingHandler { BotState = mockState.Object, BotServices = mockService.Object, PingFrequencyMs = 200 }; var message = new PlainMessage { Type = EventType.Message, Subtype = MessageSubType.PlainMessage, Text = "<@BOTID>: pingdom" }; Thread.Sleep(250); foreach (var loop in Enumerable.Range(1, 6)) { handler.CanHandle(message); Thread.Sleep(100); } mockService.Verify(m => m.SendRawMessage(It.Is<OutputMessage>(om => om.Type == "ping")), Times.Exactly(1)); }