public GfyCatVideoUploaderTests() { DeleteTestFiles(); _fakeGfyCatApi = A.Fake <IGfyCatApi>(); _fakeGfyCatFileDropApi = A.Fake <IGfyCatFileDropApi>(); _fakeGfyCatApiConfiguration = A.Fake <IGfyCatApiConfiguration>(); A.CallTo(() => _fakeGfyCatApiConfiguration.GetUploadTimeoutInMs()).Returns(500); A.CallTo(() => _fakeGfyCatApiConfiguration.GetUploadStatusPollingPeriodInMs()).Returns(10); _gfyCatVideoUploader = new GfyCatVideoUploader(_fakeGfyCatApi, _fakeGfyCatFileDropApi, _fakeGfyCatApiConfiguration); }
private async Task <string> UploadVideoAndReturnMp4Url(string gfyName) { Console.WriteLine($"Gfyname: {gfyName}"); RenameRotatedVideoFileToGfyName(gfyName); await UploadVideoToFileDrop(gfyName); var task = GetWaitForVideoUploadToCompleteTask(gfyName); if (task.Wait(_gfyCatApiConfiguration.GetUploadTimeoutInMs())) { DeleteVideoFile(gfyName); return(await GetMp4UrlForGfyName(gfyName)); } else { throw new VideoUploadTimeOutException("Timed-out while waiting for video upload and encode to complete"); } }