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();
        }
Beispiel #2
0
        /// <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}&amp;destinationPath=[destinationPath]&amp;folder=[folder]&amp;storage=[storage]&amp;destFileName=[destFileName]";

            resourcePath = Regex
                           .Replace(resourcePath, "\\*", string.Empty)
                           .Replace("&amp;", "&")
                           .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()));
        }