コード例 #1
0
        public async void TestStaticRoomFileLifecycleAsync()
        {
            var roomId        = RoomList != null && RoomList.Any() ? RoomList.First() : Room;
            var newParameters = textFileContent;

            var newResponse = await ChatworkClient.PostRoomFileAsync(Token, roomId, newParameters)
                              .ConfigureAwait(false);

            AssertPostFileResponse(newResponse);

            var fileId     = newResponse.Data.FileId;
            var parameters = new FileParameters
            {
                CreateDownloadUrl = true,
            };

            var response = await ChatworkClient.GetRoomFileAsync(Token, roomId, fileId, parameters)
                           .ConfigureAwait(false);

            AssertGetFileResponse(response, fileId);
        }
コード例 #2
0
        public void TestStaticRoomFileLifecycleAsyncCallback()
        {
            var roomId = RoomList != null && RoomList.Any() ? RoomList.First() : Room;

            TestStaticPostRoomFileAsyncCallback(roomId, TestStaticGetRoomFileAsyncCallback);

            // [POST] /rooms/{room_id}/files.
            void TestStaticPostRoomFileAsyncCallback(long roomId, Action <long, long> next)
            {
                var parameters = textFileContent;

                ChatworkClient.PostRoomFileAsync(
                    Token,
                    response =>
                {
                    AssertPostFileResponse(response);
                    next.Invoke(roomId, response.Data.FileId);
                },
                    roomId,
                    parameters);
            }

            // [GET] /rooms/{room_id}/files/{file_id}.
            void TestStaticGetRoomFileAsyncCallback(long roomId, long fileId)
            {
                var parameters = new FileParameters
                {
                    CreateDownloadUrl = true,
                };

                ChatworkClient.GetRoomFileAsync(
                    Token,
                    response => AssertGetFileResponse(response, fileId),
                    roomId,
                    fileId,
                    parameters);
            }
        }