private void should_return_dm_channel_joined_message(MessageInterpreter interpreter)
        {
            // given
            string json = @"
                {
                   'type':'im_created',
                   'channel':{
                      'id':'D99999',
                      'user':'******',
                      'is_im':true,
                      'is_open':true
                   }
                }
            ";

            // when
            var result = interpreter.InterpretMessage(json);

            // then
            var expected = new DmChannelJoinedMessage
            {
                MessageType = MessageType.Im_Created,
                Channel     = new Im
                {
                    Id     = "D99999",
                    User   = "******",
                    IsIm   = true,
                    IsOpen = true
                },
                RawData = json,
            };

            result.ShouldLookLike(expected);
        }
Ejemplo n.º 2
0
        private void should_return_channel_created_message(MessageInterpreter interpreter)
        {
            // given
            string json = @"
                {
                    'type': 'channel_created',
                    'channel': {
                        'id': 'C024BE91L',
                        'name': 'fun',
                        'created': 1360782804,
                        'creator': 'U024BE7LH'
                    }
                }
            ";

            // when
            var result = interpreter.InterpretMessage(json);

            // then
            var expected = new ChannelCreatedMessage
            {
                MessageType = MessageType.Channel_Created,
                Channel     = new Channel
                {
                    Id      = "C024BE91L",
                    Name    = "fun",
                    Creator = "U024BE7LH"
                },
                RawData = json,
            };

            result.ShouldLookLike(expected);
        }
        private void should_return_message_given_standard_message_with_null_data(MessageInterpreter interpreter)
        {
            // given
            string json = @"
                {
                  'type': 'message',
                  'channel': null,
                  'user': null,
                  'text': null,
                  'ts': '1445366603.000002',
                  'team': null
                }
            ";

            // when
            var result = interpreter.InterpretMessage(json);

            // then
            var expected = new ChatMessage
            {
                MessageType = MessageType.Message,
                Channel     = null,
                User        = null,
                Text        = null,
                Team        = null,
                RawData     = json,
                Timestamp   = 1445366603.000002
            };

            result.ShouldLookLike(expected);
        }
        private void should_return_standard_message(MessageInterpreter interpreter)
        {
            // given
            string json = @"
                {
                  'type': 'message',
                  'channel': '<myChannel>',
                  'user': '******',
                  'text': 'hi, my name is <noobot>',
                  'ts': '1445366603.000002',
                  'team': '<myTeam>'
                }
            ";

            // when
            var result = interpreter.InterpretMessage(json);

            // then
            var expected = new ChatMessage
            {
                MessageType = MessageType.Message,
                Channel     = "<myChannel>",
                User        = "******",
                Text        = "hi, my name is <noobot>",
                Team        = "<myTeam>",
                RawData     = json,
                Timestamp   = 1445366603.000002
            };

            result.ShouldLookLike(expected);
        }
        private void should_return_group_joined_message(MessageInterpreter interpreter)
        {
            // given
            string json = @"
                {
                  'type': 'group_joined',
                  'channel': {
                    id: 'test-group',
                    is_group: true
                  }
                }
            ";

            // when
            var result = interpreter.InterpretMessage(json);

            // then
            var expected = new GroupJoinedMessage
            {
                MessageType = MessageType.Group_Joined,
                Channel     = new Group
                {
                    Id      = "test-group",
                    IsGroup = true
                },
                RawData = json,
            };

            result.ShouldLookLike(expected);
        }
Ejemplo n.º 6
0
        private void should_return_unknown_reaction_message(MessageInterpreter interpreter)
        {
            // given
            string json = @"
                {
                    'type': 'reaction_added',
                    'user': '******',
                    'reaction': 'thumbsup',
                    'item_user': '******',
                    'item': {
                        'type': 'nifty_new_slack_reaction',
                        'item1': 'Fc0HS2KBEZ',
                        'item2': 'F0HS27V1Z',
                    },
                    'event_ts': '1360782804.083113'
                }
            ";

            // when
            var result = interpreter.InterpretMessage(json);

            // then
            var expected = new ReactionMessage
            {
                MessageType    = MessageType.Reaction_Added,
                RawData        = json,
                Reaction       = "thumbsup",
                User           = "******",
                Timestamp      = 1360782804.083113,
                ReactingToUser = "******",
                ReactingTo     = new UnknownReaction()
            };

            result.ShouldLookLike(expected);
        }
        private void should_return_channel_joined_message(MessageInterpreter interpreter)
        {
            // given
            string json = @"
                {
                  'type': 'channel_joined',
                  'channel': {
                    id: 'test-channel',
                    is_channel: true
                  }
                }
            ";

            // when
            var result = interpreter.InterpretMessage(json);

            // then
            var expected = new ChannelJoinedMessage
            {
                MessageType = MessageType.Channel_Joined,
                Channel     = new Channel
                {
                    Id        = "test-channel",
                    IsChannel = true
                },
                RawData = json,
            };

            result.ShouldLookLike(expected);
        }
        private void should_return_unknown_message_given_dodge_json(MessageInterpreter interpreter)
        {
            // given
            string json = @"{ 'type': 'something_else', 'channel': { 'isObject': true } }";

            // when
            var result = interpreter.InterpretMessage(json);

            // then
            result.ShouldBeOfType <UnknownMessage>();
        }
Ejemplo n.º 9
0
    public Match()
    {
        m_ball = BallProvider.GetBall();
        m_messageInterpreter = new MessageInterpreter();

        m_physics = new ssg.Physics.SoccerPhysics(m_ball);
        m_physics.AddCollider(((Ball)m_ball).Collider);

        var playersProvider = new PlayersProvider();
        var players         = playersProvider.GetPlayers(this);

        SetPlayers(players);
    }
Ejemplo n.º 10
0
        public IActionResult CreateComment([FromBody] MessageDto messageDto)
        {
            MessageInterpreter interpreter = new MessageInterpreter();
            var    message        = new Message();
            Player player         = _context.Player.Find(messageDto.PlayerId);
            var    messageContext = new MessageContext(player, messageDto.Message);

            interpreter.ProcessMessage(ref messageContext);
            message.Created_At    = DateTime.Now;
            message.PlayerMessage = messageContext.Message;
            message.Player        = messageContext.Player;
            _context.Player.Find(messageContext.Player.PlayerId).HealthPoints = messageContext.Player.HealthPoints;
            _context.Message.Add(message);
            _context.SaveChanges();
            return(Created("Created", message));
        }
        private void should_return_unknown_message_type(MessageInterpreter interpreter)
        {
            // given
            string json = @"{ 'type': 'something_else' }";

            // when
            var result = interpreter.InterpretMessage(json);

            // then
            var expected = new UnknownMessage
            {
                RawData = json
            };

            result.ShouldLookLike(expected);
        }
Ejemplo n.º 12
0
        public void SendMessage(object o)
        {
            string message = (string)o;

            message = message != null ? message : UserCurrentMessage;
            MessageInterpreter interpreter = new MessageInterpreter();

            if (interpreter.IsHistoryRequest(message))
            {
                ShowOlderMessages(o);
            }
            else if (SharedChatModel.IsInPartyChat())
            {
                if (interpreter.IsAGuess(message))
                {
                    ServerService.Answer(interpreter.ExtractWordFromCommand(message));
                }
                else if (interpreter.IsAClueRequest(message))
                {
                    ServerService.GetAClue();
                }
                #region DROPPED FEATURE
                //else if (interpreter.IsAKickRequest(message))
                //{
                //    ServerService.Kick(interpreter.ExtractWordFromCommand(message));
                //}
                #endregion
                else
                {
                    ServerService.SendMessage(message, SharedChatModel.CurrentChannelId);
                }
            }
            else
            {
                ServerService.SendMessage(message, SharedChatModel.CurrentChannelId);
            }

            if (SharedChatModel.IsInPartyChat())
            {
                UserCurrentMessage = MessageInterpreter.GameGuessPrefix + " ";
            }
            else
            {
                UserCurrentMessage = "";
            }
        }
        private void should_return_user_joined_message(MessageInterpreter interpreter)
        {
            // given
            string json = @"
                {  
                   'type':'team_join',
                   'user':{  
                      'id':'U3339999',
                      'name':'tmp',
                      'profile':{  
                         'real_name':'temp-name'
                      },
                      'is_admin':false,
                      'is_bot':true
                   }
                }
            ";

            // when
            var result = interpreter.InterpretMessage(json);

            // then
            var expected = new UserJoinedMessage
            {
                MessageType = MessageType.Team_Join,
                User        = new User
                {
                    Id      = "U3339999",
                    Name    = "tmp",
                    IsAdmin = false,
                    IsBot   = true,
                    Profile = new Profile
                    {
                        RealName = "temp-name"
                    }
                },
                RawData = json,
            };

            result.ShouldLookLike(expected);
        }
Ejemplo n.º 14
0
        private void should_return_message_reaction_message(MessageInterpreter interpreter)
        {
            // given
            string json = @"
                {
                    'type': 'reaction_added',
                    'user': '******',
                    'reaction': 'thumbsup',
                    'item_user': '******',
                    'item': {
                        'type': 'message',
                        'channel': 'C0G9QF9GZ',
                        'ts': '1360782400.498405'
                    },
                    'event_ts': '1360782804.083113'
                }
            ";

            // when
            var result = interpreter.InterpretMessage(json);

            // then
            var expected = new ReactionMessage
            {
                MessageType    = MessageType.Reaction_Added,
                RawData        = json,
                Reaction       = "thumbsup",
                User           = "******",
                Timestamp      = 1360782804.083113,
                ReactingToUser = "******",
                ReactingTo     = new MessageReaction
                {
                    Channel   = "C0G9QF9GZ",
                    Timestamp = "1360782400.498405"
                }
            };

            result.ShouldLookLike(expected);
        }
Ejemplo n.º 15
0
        private void should_return_pong_message(MessageInterpreter interpreter)
        {
            // given
            string json = @"
                {
                  'type': 'pong',
                  'ts': '1445366603.000002'
                }
            ";

            // when
            var result = interpreter.InterpretMessage(json);

            // then
            var expected = new PongMessage
            {
                MessageType = MessageType.Pong,
                RawData     = json
            };

            result.ShouldLookLike(expected);
        }
Ejemplo n.º 16
0
        private void should_return_file_comment_reaction_message(MessageInterpreter interpreter)
        {
            // given
            string json = @"
                {
                    'type': 'reaction_added',
                    'user': '******',
                    'reaction': 'thumbsup',
                    'item_user': '******',
                    'item': {
                        'type': 'file_comment',
                        'file_comment': 'Fc0HS2KBEZ',
                        'file': 'F0HS27V1Z',
                    },
                    'event_ts': '1360782804.083113'
                }
            ";

            // when
            var result = interpreter.InterpretMessage(json);

            // then
            var expected = new ReactionMessage
            {
                MessageType    = MessageType.Reaction_Added,
                RawData        = json,
                Reaction       = "thumbsup",
                User           = "******",
                Timestamp      = 1360782804.083113,
                ReactingToUser = "******",
                ReactingTo     = new FileCommentReaction
                {
                    File        = "F0HS27V1Z",
                    FileComment = "Fc0HS2KBEZ"
                },
            };

            result.ShouldLookLike(expected);
        }
Ejemplo n.º 17
0
        public void EndRead(IAsyncResult result)
        {
            var buffer = (byte[])result.AsyncState;

            if (Client.Connected)
            {
                try
                {
                    var ns             = Client.GetStream();
                    var bytesAvailable = ns.EndRead(result);
                    var messages       = Encoding.ASCII.GetString(buffer).Split((char)23);
                    LastKeepAlive = DateTime.Now;
                    if (messages != null)
                    {
                        Task.Run(() =>
                        {
                            foreach (var message in messages.Select(q => q.Trim('\0')))
                            {
                                ConsoleWriter.Show("Server read from client:" + ID + ", \n" + message + "\n");
                                MessageInterpreter.ReadMessage(message, ID);
                            }
                        });
                    }
                    BeginRead();
                }
                catch (Exception e)
                {
                    ConsoleWriter.Error("Error while handling message from socket for client: " + ID + "\n Error message: \n" + e.ToString());
                    MessageInterpreter.ReadMessage("client disconnected", ID);
                }
            }
            else
            {
                ConsoleWriter.Warning("Client disconnected: " + ID);
                MessageInterpreter.ReadMessage("client disconnected", ID);
            }
        }
Ejemplo n.º 18
0
 public static WmCommandResult CheckForWmCommand(this Message msg)
 {
     return(MessageInterpreter.CheckWmCommand(msg));
 }
        private void should_log_when_logging_level_is_all([Frozen] Mock <ILogger> logger, MessageInterpreter interpreter)
        {
            // given
            SlackConnector.LoggingLevel = ConsoleLoggingLevel.All;

            // when
            var result = interpreter.InterpretMessage(@"{ 'something': 'no end tag'");

            // then
            result.ShouldBeOfType <UnknownMessage>();
            logger.Verify(x => x.LogError(It.IsAny <string>()), Times.AtLeastOnce);
        }
        private void shouldnt_log_when_logging_level_is_non([Frozen] Mock <ILogger> logger, MessageInterpreter interpreter)
        {
            // given
            SlackConnector.LoggingLevel = ConsoleLoggingLevel.None;

            // when
            var result = interpreter.InterpretMessage(null);

            // then
            result.ShouldBeOfType <UnknownMessage>();
            logger.Verify(x => x.LogError(It.IsAny <string>()), Times.Never);
        }
        private void should_return_message_with_file(MessageInterpreter interpreter)
        {
            // given
            string json = @"
                {
                  'type': 'message',
                  'files': [
                     {
                      'id':'some-id',
                      'created':12345,
                      'timestamp':54321,
                      'name':'name.gif',
                      'title':'title.gif',
                      'mimetype':'image\/gif',
                      'filetype':'gif',
                      'pretty_type':'GIF',
                      'user':'******',
                      'editable':true,
                      'size':63689,
                      'mode':'hosted',
                      'is_external':true,
                      'external_type':'some-external-type',
                      'is_public':true,
                      'public_url_shared':true,
                      'display_as_bot':true,
                      'username':'******',
                      'url_private':'https:\/\/url_private',
                      'url_private_download':'https:\/\/url_private_download',
                      'thumb_64':'https:\/\/thumb_64',
                      'thumb_80':'https:\/\/thumb_80',
                      'thumb_360':'https:\/\/thumb_360',
                      'thumb_360_w':43,
                      'thumb_360_h':29,
                      'thumb_160':'https:\/\/thumb_160',
                      'thumb_360_gif':'https:\/\/thumb_360_gif',
                      'image_exif_rotation':6,
                      'original_w':53,
                      'original_h':39,
                      'deanimate_gif':'https:\/\/deanimate_gif',
                      'permalink':'https:\/\/permalink',
                      'permalink_public':'https:\/\/permalink_public'
                   }]
                }
            ";

            // when
            var result = interpreter.InterpretMessage(json);

            // then
            var expected = new ChatMessage
            {
                MessageType = MessageType.Message,
                Files       = new[]
                {
                    new File
                    {
                        Id                 = "some-id",
                        Created            = 12345,
                        Timestamp          = 54321,
                        Name               = "name.gif",
                        Title              = "title.gif",
                        Mimetype           = "image/gif",
                        FileType           = "gif",
                        PrettyType         = "GIF",
                        User               = "******",
                        Editable           = true,
                        Size               = 63689,
                        Mode               = "hosted",
                        IsExternal         = true,
                        ExternalType       = "some-external-type",
                        IsPublic           = true,
                        PublicUrlShared    = true,
                        DisplayAsBot       = true,
                        Username           = "******",
                        UrlPrivate         = "https://url_private",
                        UrlPrivateDownload = "https://url_private_download",
                        Thumb64            = "https://thumb_64",
                        Thumb80            = "https://thumb_80",
                        Thumb360           = "https://thumb_360",
                        Thumb360Width      = 43,
                        Thumb360Height     = 29,
                        Thumb160           = "https://thumb_160",
                        Thumb360Gif        = "https://thumb_360_gif",
                        ImageExifRotation  = 6,
                        OriginalWidth      = 53,
                        OriginalHeight     = 39,
                        DeanimateGif       = "https://deanimate_gif",
                        Permalink          = "https://permalink",
                        PermalinkPublic    = "https://permalink_public"
                    }
                },
                RawData = json
            };

            result.ShouldLookLike(expected);
        }
 public void Setup()
 {
     interpreter = new MessageInterpreter();
 }