public void IfUserSetDebugOptionRequestAndErrorsShouldBeWritedToTrace() { var localName = "sample.avi"; var remoteName = "TestPostAppendVideo.avi"; var fullName = Path.Combine(this.dataFolder, remoteName); var fullNameToAppend = Path.Combine(this.dataFolder, "videoForAppend.mp4"); var destFileName = Path.Combine(BaseTestOutPath, remoteName); AppendOptions options = new AppendOptions(); this.StorageApi.PutCreate(fullName, null, null, File.ReadAllBytes(BaseTestContext.GetDataDir() + localName)); this.StorageApi.PutCreate(fullNameToAppend, null, null, File.ReadAllBytes(BaseTestContext.GetDataDir() + "sample.mp4")); options.VideoToAppendPath = fullNameToAppend; var request = new PostAppendVideoRequest(remoteName, destFileName, options, this.dataFolder); var api = this.GetDebugApi(); var mockFactory = new MockFactory(); var traceListenerMock = mockFactory.CreateMock <TraceListener>(); Trace.Listeners.Add(traceListenerMock.MockObject); traceListenerMock.Expects.One.Method(p => p.WriteLine(string.Empty)).With(Is.StringContaining("POST: http://api-dev.aspose.cloud/v1.1/video/TestPostAppendVideo.avi")); traceListenerMock.Expects.One.Method(p => p.WriteLine(string.Empty)).With(Is.StringContaining("Response 200: OK")); traceListenerMock.Expects.AtLeastOne.Method(p => p.WriteLine(string.Empty)).With(Is.Anything); // Act api.PostAppendVideo(request); // Assert mockFactory.VerifyAllExpectationsHaveBeenMet(); }
/// <summary> /// Append video to original video. /// </summary> /// <param name="request">Request. <see cref="PostAppendVideoRequest" /></param> /// <returns><see cref="VideoResponse"/></returns> public VideoResponse PostAppendVideo(PostAppendVideoRequest request) { // verify the required parameter 'name' is set if (request.Name == null) { throw new ApiException(400, "Missing required parameter 'name' when calling PostAppendVideo"); } // verify the required parameter 'destinationPath' is set if (request.DestinationPath == null) { throw new ApiException(400, "Missing required parameter 'destinationPath' when calling PostAppendVideo"); } // verify the required parameter 'appendOptions' is set if (request.AppendOptions == null) { throw new ApiException(400, "Missing required parameter 'appendOptions' when calling PostAppendVideo"); } // create path and map variables var resourcePath = "/video/{name}/appendVideo?appSid={appSid}&destinationPath=[destinationPath]&folder=[folder]&storage=[storage]&destFileName=[destFileName]"; resourcePath = Regex .Replace(resourcePath, "\\*", string.Empty) .Replace("&", "&") .Replace("/?", "?"); resourcePath = this.AddPathParameter(resourcePath, "name", request.Name); resourcePath = this.AddQueryParameter(resourcePath, "destinationPath", request.DestinationPath); resourcePath = this.AddQueryParameter(resourcePath, "folder", request.Folder); resourcePath = this.AddQueryParameter(resourcePath, "storage", request.Storage); resourcePath = this.AddQueryParameter(resourcePath, "destFileName", request.DestFileName); var postBody = request.AppendOptions; // http body (model) parameter try { var response = this.apiInvoker.InvokeApi( resourcePath, "POST", postBody, null, null); if (response != null) { return((VideoResponse)SerializationHelper.Deserialize(response, typeof(VideoResponse))); } return(null); } catch (ApiException ex) { if (ex.ErrorCode == 404) { return(null); } throw; } }
public void TestPostAppendVideo() { var localName = "sample.avi"; var remoteName = "TestPostAppendVideo.avi"; var fullName = Path.Combine(this.dataFolder, remoteName); var fullNameToAppend = Path.Combine(this.dataFolder, "videoForAppend.mp4"); var destFileName = Path.Combine(BaseTestOutPath, remoteName); AppendOptions options = new AppendOptions(); this.StorageApi.PutCreate(fullName, null, null, File.ReadAllBytes(BaseTestContext.GetDataDir() + localName)); this.StorageApi.PutCreate(fullNameToAppend, null, null, File.ReadAllBytes(BaseTestContext.GetDataDir() + "sample.mp4")); options.VideoToAppendPath = fullNameToAppend; var request = new PostAppendVideoRequest(remoteName, destFileName, options, this.dataFolder); var actual = this.VideoApi.PostAppendVideo(request); Assert.AreEqual(200, System.Convert.ToInt32(actual.Code.ToString())); }