private async Task UpdateUserCache(UserInboundMessage userInboundMessage) { if (userInboundMessage.User != null && !_userCache.ContainsKey(userInboundMessage.User)) { _userCache[userInboundMessage.User] = await GetUser(userInboundMessage.User); } }
private async Task UpdateHubCache(UserInboundMessage userInboundMessage) { if (userInboundMessage.Channel != null && !_hubCache.ContainsKey(userInboundMessage.Channel)) { var chatHub = await GetChatHub(userInboundMessage.Channel); _hubCache[userInboundMessage.Channel] = chatHub ?? _chatHubInterpreter.FromId(userInboundMessage.Channel); } }
protected override void Given() { UserInboundUserInboundMessage = new UserInboundMessage { MessageType = MessageType.Unknown }; base.Given(); }
protected override void Given() { base.Given(); UserInboundUserInboundMessage = new UserInboundMessage { User = "******", MessageType = MessageType.Message }; }
public void should_not_throw_exception_when_error_is_thrown() { var message = new UserInboundMessage { User = "******", MessageType = MessageType.Message }; WebSocket.RaiseOnMessage(message); }
protected override void Given() { base.Given(); UserInboundUserInboundMessage = new UserInboundMessage { MessageType = MessageType.Message, User = null }; }
protected override void Given() { base.Given(); ConnectionInfo.Self = new ContactDetails { Id = "self-id", Name = "self-name" }; UserInboundUserInboundMessage = new UserInboundMessage { MessageType = MessageType.Message, User = ConnectionInfo.Self.Id }; }
protected override void Given() { base.Given(); GetMockFor <IChatHubInterpreter>() .Setup(x => x.FromId(_hubId)) .Returns(_expectedChatHub); UserInboundUserInboundMessage = new UserInboundMessage { Channel = _hubId, MessageType = MessageType.Message, User = "******" }; }
protected override void Given() { base.Given(); ConnectionInfo.SlackChatHubs.Add("channelId", new SlackChatHub { Id = "channelId", Name = "NaMe23" }); UserInboundUserInboundMessage = new UserInboundMessage { Channel = ConnectionInfo.SlackChatHubs.First().Key, MessageType = MessageType.Message, User = "******" }; }
public async Task HandleInboundData(UserInboundMessage userInboundMessage) { if (string.IsNullOrEmpty(userInboundMessage.User)) { return; } await UpdateHubCache(userInboundMessage); await UpdateUserCache(userInboundMessage); if (!string.IsNullOrEmpty(Self.Id) && userInboundMessage.User == Self.Id) { return; } SlackMessage message = new SlackMessage { User = userInboundMessage.User == null ? null : _userCache[userInboundMessage.User], Text = userInboundMessage.Text, ChatHub = userInboundMessage.Channel == null ? null : _hubCache[userInboundMessage.Channel], Time = userInboundMessage.Time, RawData = userInboundMessage.RawData, MentionsBot = _mentionDetector.WasBotMentioned(Self.Name, Self.Id, userInboundMessage.Text) }; if (message.User == null && userInboundMessage.User != null) { message.User = new SlackUser { Id = userInboundMessage.User, Name = "" } } ; if (message.ChatHub == null && userInboundMessage.Channel != null) { message.ChatHub = new SlackChatHub { Id = userInboundMessage.Channel, Name = "" } } ; if (userInboundMessage.MessageSubType == MessageSubType.bot_message) { message.User.Name = ((BotInboundMessage)userInboundMessage).UserName; } await RaiseMessageReceived(message); }
protected override void Given() { base.Given(); ConnectionInfo.Users.Add("userABC", new SlackUser { Id = "userABC", Name = "i-have-a-name" }); UserInboundUserInboundMessage = new UserInboundMessage { User = "******", MessageType = MessageType.Message, Text = "amazing-text", RawData = "I am raw data yo" }; }
public void then_should_look_like_expected() { DateTime time = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); time = time.AddSeconds(Math.Round(double.Parse(Ts))).ToLocalTime(); var expected = new UserInboundMessage { MessageType = MessageType.Message, Channel = "<myChannel>", User = "******", Text = "hi, my name is <noobot>", Team = "<myTeam>", Time = time, RawData = Json }; Result.ShouldLookLike(expected); }
protected override void Given() { base.Given(); ConnectionInfo.Self = new ContactDetails { Id = "self-id", Name = "self-name" }; UserInboundUserInboundMessage = new UserInboundMessage { Channel = "idy", MessageType = MessageType.Message, Text = "please send help... :-p", User = "******" }; GetMockFor <IMentionDetector>() .Setup(x => x.WasBotMentioned(ConnectionInfo.Self.Name, ConnectionInfo.Self.Id, UserInboundUserInboundMessage.Text)) .Returns(true); }
public void RaiseOnMessage(UserInboundMessage userInboundMessage) { OnMessage.Invoke(this, userInboundMessage); }
protected override void When() { Result = (UserInboundMessage)SUT.InterpretMessage(Json); }
public async Task HandleUserMessage(UserInboundMessage userInboundData) { await _inboundDataHandler.HandleInboundData(userInboundData); }