public void FolderPutCopyFolderTest()
        {
            var srcPath  = Path.Combine(TempFolderPath, "TestFolder1");
            var destPath = Path.Combine(TempFolderPath, "TestFolder2/TestFolder1");

            //PutCopy folder
            var request = new PutCopyFolderRequest();

            request.Path        = srcPath;
            request.Storage     = StorageName;
            request.Newdest     = destPath;
            request.DestStorage = DestStorageName;
            var response = StorageApi.PutCopyFolder(request);

            Assert.AreEqual(200, response.Code);

            //The file should exists on dest path
            var fileExist = FileExist(DestStorageName, destPath);

            Assert.IsTrue((bool)fileExist.IsExist);
            Assert.IsTrue((bool)fileExist.IsFolder);

            //Delete the output
            if (StorageName != DestStorageName)
            {
                DeleteFolder(DestStorageName, destPath);
            }
        }
Example #2
0
        public void FolderPutCopyFolderTest()
        {
            PutCopyFolderRequest request = new PutCopyFolderRequest();

            request.path        = Path.Combine(dataFolder, "folder1");
            request.storage     = storageName;
            request.newdest     = "folder4/folder3/folder1";
            request.destStorage = destStorageName;
            var response = FolderApi.PutCopyFolder(request);

            Assert.AreEqual(200, response.Code);
        }
        /// <summary>
        /// Copy a folder
        /// </summary>
        /// <param name="request">Request. <see cref="PutCopyFolderRequest" /></param>
        /// <returns><see cref="CreateFolderResponse"/></returns>
        public CreateFolderResponse PutCopyFolder(PutCopyFolderRequest request)
        {
            // verify the required parameter 'path' is set
            if (request.path == null)
            {
                throw new ApiException(400, "Missing required parameter 'path' when calling PutCopyFolder");
            }

            // verify the required parameter 'newdest' is set
            if (request.newdest == null)
            {
                throw new ApiException(400, "Missing required parameter 'newdest' when calling PutCopyFolder");
            }

            // create path and map variables
            var resourcePath = this.configuration.GetApiRootUrl() + "/storage/folder";

            resourcePath = Regex
                           .Replace(resourcePath, "\\*", string.Empty)
                           .Replace("&amp;", "&")
                           .Replace("/?", "?");
            resourcePath = UrlHelper.AddQueryParameterToUrl(resourcePath, "path", request.path);
            resourcePath = UrlHelper.AddQueryParameterToUrl(resourcePath, "newdest", request.newdest);
            resourcePath = UrlHelper.AddQueryParameterToUrl(resourcePath, "storage", request.storage);
            resourcePath = UrlHelper.AddQueryParameterToUrl(resourcePath, "destStorage", request.destStorage);

            try
            {
                var response = this.apiInvoker.InvokeApi(
                    resourcePath,
                    "PUT",
                    null,
                    null,
                    null);
                if (response != null)
                {
                    return((CreateFolderResponse)SerializationHelper.Deserialize(response, typeof(CreateFolderResponse)));
                }

                return(null);
            }
            catch (ApiException ex)
            {
                if (ex.ErrorCode == 404)
                {
                    return(null);
                }

                throw;
            }
        }