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); }
/// <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); }
/// <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); }