Пример #1
0
        public void TestStaticMessageLifecycle()
        {
            var roomId    = RoomList != null && RoomList.Any() ? RoomList.First() : Room;
            var messageId = TestStaticPostRoomMessage(roomId);

            TestStaticGetRoomMessage(roomId, messageId);
            TestStaticPutRoomMessage(roomId, messageId);
            TestStaticDeleteRoomMessage(roomId, messageId);

            // [POST] /rooms/{room_id}/messages.
            string TestStaticPostRoomMessage(long roomId)
            {
                var parameters = new NewMessageParameters
                {
                    Body       = "new test message.",
                    SelfUnread = true,
                };

                var response = ChatworkClient.PostRoomMessage(Token, roomId, parameters);

                AssertPostRoomMessageResponse(response);

                return(response.Data.MessageId);
            }

            // [GET] /rooms/{room_id}/messages/{message_id}.
            void TestStaticGetRoomMessage(long roomId, string messageId)
            {
                var response = ChatworkClient.GetRoomMessage(Token, roomId, messageId);

                AssertGetRoomMessageResponse(response, messageId);
            }

            // [PUT] /rooms/{room_id}/messages/{message_id}.
            void TestStaticPutRoomMessage(long roomId, string messageId)
            {
                var parameters = new UpdateMessageParameters
                {
                    Body = "update test message.",
                };

                var response = ChatworkClient.PutRoomMessage(Token, roomId, messageId, parameters);

                AssertPutRoomMessageResponse(response, messageId);
            }

            // [DELETE] /rooms/{room_id}/messages/{message_id}.
            void TestStaticDeleteRoomMessage(long roomId, string messageId)
            {
                var response = ChatworkClient.DeleteRoomMessage(Token, roomId, messageId);

                AssertDeleteRoomMessageResponse(response, messageId);
            }
        }