コード例 #1
0
        public async Task GetDownloadFileUrlCallsRequestSenderWithValidRequest()
        {
            var apiRequestSender = new Mock <IApiRequestSender>();
            var result           = new DownloadFileUrl();

            apiRequestSender.Setup(sender => sender.SendRequestAsync(It.IsAny <Request <DownloadFileUrl> >()))
            .Returns(Task.FromResult(result));
            var assetService       = new AssetService(apiRequestSender.Object);
            var downloadMediaQuery = new DownloadMediaQuery {
                MediaId = "mediaId"
            };
            var downloadUrl = await assetService.GetDownloadFileUrlAsync(downloadMediaQuery);

            apiRequestSender.Verify(sender => sender.SendRequestAsync(
                                        It.Is <Request <DownloadFileUrl> >(
                                            req => req.Path == $"/api/v4/media/{downloadMediaQuery.MediaId}/download/" &&
                                            req.HTTPMethod == HttpMethod.Get)));

            Assert.Equal(result.S3File, downloadUrl);
        }
コード例 #2
0
        /// <summary>
        /// Check <see cref="IAssetService"/> for more information
        /// </summary>
        /// <param name="query">Check <see cref="IAssetService"/> for more information</param>
        /// <returns>Check <see cref="IAssetService"/> for more information</returns>
        public async Task <Uri> GetDownloadFileUrlAsync(DownloadMediaQuery query)
        {
            string path;

            if (query.MediaItemId == null)
            {
                path = $"/api/v4/media/{query.MediaId}/download/";
            }
            else
            {
                path = $"/api/v4/media/{query.MediaId}/download/{query.MediaItemId}/";
            }

            var downloadFileInformation = await _requestSender.SendRequestAsync(new ApiRequest <DownloadFileUrl>
            {
                Path       = path,
                HTTPMethod = HttpMethod.Get,
            }).ConfigureAwait(false);

            return(downloadFileInformation.S3File);
        }
コード例 #3
0
        /// <summary>
        /// Check <see cref="IAssetBankManager"/> for more information
        /// </summary>
        /// <param name="query">Check <see cref="IAssetBankManager"/> for more information</param>
        /// <returns>Check <see cref="IAssetBankManager"/> for more information</returns>
        public async Task <Uri> GetDownloadFileUrlAsync(DownloadMediaQuery query)
        {
            string uri = string.Empty;

            if (query.MediaItemId == null)
            {
                uri = $"/api/v4/media/{query.MediaId}/download/";
            }
            else
            {
                uri = $"/api/v4/media/{query.MediaId}/download/{query.MediaItemId}/";
            }

            var request = new Request <DownloadFileUrl>
            {
                Uri        = uri,
                HTTPMethod = HttpMethod.Get
            };

            var downloadFileInformation = await _requestSender.SendRequestAsync(request).ConfigureAwait(false);

            return(downloadFileInformation.S3File);
        }