示例#1
0
        public void TestStaticRoomsRoomLink()
        {
            var roomId = RoomList != null && RoomList.Any() ? RoomList.First() : Room;

            var link       = TestStaticGetRoomLink(roomId);
            var linkExists = link.Public || link.Url != null || !string.IsNullOrEmpty(link.Description);

            if (linkExists)
            {
                TestStaticPutRoomLink(roomId);
                TestStaticDeleteRoomLink(roomId);
                TestStaticPostRoomLink(roomId);
            }
            else
            {
                TestStaticPostRoomLink(roomId);
                TestStaticPutRoomLink(roomId);
                TestStaticDeleteRoomLink(roomId);
            }

            // [GET] /rooms/{room_id}/link.
            LinkData TestStaticGetRoomLink(long roomId)
            {
                var response = ChatworkClient.GetRoomLink(Token, roomId);

                AssertGetRoomLinkResponse(response);
                return(response.Data);
            }

            // [POST] /rooms/{room_id}/link.
            void TestStaticPostRoomLink(long roomId)
            {
                var response = ChatworkClient.PostRoomLink(Token, roomId, newLinkParameters);

                AssertPostRoomLinkResponse(response);
            }

            // [PUT] /rooms/{room_id}/link.
            void TestStaticPutRoomLink(long roomId)
            {
                var response = ChatworkClient.PutRoomLink(Token, roomId, updateLinkParameters);

                AssertPutRoomLinkResponse(response);
            }

            // [DELETE] /rooms/{room_id}/link.
            void TestStaticDeleteRoomLink(long roomId)
            {
                var response = ChatworkClient.DeleteRoomLink(Token, roomId);

                AssertDeleteRoomLinkResponse(response);
            }
        }