public async Task Update_File_Contents() { var rnd = new Random(); var data = new byte[100]; rnd.NextBytes(data); //Create a unique file name var fileName = Guid.NewGuid().ToString(); //Upload a file var upload = _filesApi.CreateFile(fileName, _testFolder, data.Length, data); //Create new file data var newData = new byte[200]; rnd.NextBytes(data); //Update file contents var updatedFile = _filesApi.UpdateFileContents(upload.Id, newData.Length, newData); Assert.AreEqual(200, updatedFile.Size); //Create buffer for download var downloadedFile = new byte[200]; //Download file var wait = new WaitForVirusScan(_filesApi); (await wait.DownloadFileWithRetry(upload.Id)).Read(downloadedFile); Assert.AreEqual(newData, downloadedFile); }
public async Task Create_Rename_Download_Delete_File() { var fileName = Guid.NewGuid().ToString(); var rnd = new Random(); var data = new byte[50]; rnd.NextBytes(data); var create = _filesApi.CreateFile(fileName, "/SDK_Test_Folder", 50, data); Assert.That(create.Name, Is.EqualTo(fileName)); Assert.That(create.Path, Is.EqualTo("/SDK_Test_Folder")); var newName = Guid.NewGuid().ToString(); var updateFile = new UpdateFile("/SDK_Test_Folder", newName); var update = _filesApi.UpdateFileMetadata(create.Id, updateFile); Assert.That(update.Name, Is.EqualTo(newName)); Assert.That(update.Path, Is.EqualTo("/SDK_Test_Folder")); Assert.That(update.Id, Is.EqualTo(create.Id)); var wait = new WaitForVirusScan(_filesApi); var download = await wait.DownloadFileWithRetry(update.Id); var endData = new byte[50]; download.Read(endData); Assert.That(endData, Is.EqualTo(data)); _filesApi.DeleteFile(update.Id); Assert.Throws <ApiException>(() => _filesApi.GetFile(create.Id)); }
public async Task Download_File_As_Stream() { var data = new MemoryStream(Encoding.UTF8.GetBytes("a,b \n c,d")); //Create a unique file name var fileName = Guid.NewGuid().ToString(); //Upload a file var upload = await _filesApi.UploadAsStreamAsync(fileName, "/", (int)data.Length, data); //Download the file that was just uploaded var wait = new WaitForVirusScan(_filesApi); var downloadedData = await wait.DownloadFileWithRetry(upload.Id); Assert.AreEqual(data, downloadedData); }
public async Task Move_File_With_Overwrite() { var rnd = new Random(); var data1 = new byte[100]; rnd.NextBytes(data1); //Create a unique file name var fileName = Guid.NewGuid().ToString(); //Create a unique folder name var folderName = Guid.NewGuid().ToString(); //Upload a file var upload = _filesApi.CreateFile(fileName, _testFolder, data1.Length, data1); //Create a folder var createFolder = new CreateFolder(_testFolder, folderName); var folder = _foldersApi.CreateFolder(createFolder); var data2 = new byte[100]; rnd.NextBytes(data2); //Upload the second file _filesApi.CreateFile(fileName, _testFolder + "/" + folder.Name, data2.Length, data2); //Move files to folder var movedFile = _foldersApi.MoveFolder(folder.Id, new List <string> { upload.Id }, true, true); var downloadedFile = new byte[100]; var wait = new WaitForVirusScan(_filesApi); var fileId = movedFile.Values.Single(x => x.Name == upload.Name).Id; (await wait.DownloadFileWithRetry(fileId)).Read(downloadedFile); CollectionAssert.Contains(movedFile.Values.Select(x => x.Name), upload.Name); Assert.AreEqual(downloadedFile, data1); CollectionAssert.IsEmpty(_foldersApi.GetFolderContents(_testFolderId, filter: $"Name eq '{fileName}'").Values); }
public async Task Download_File() { var rnd = new Random(); var uploadedFile = new byte[100]; rnd.NextBytes(uploadedFile); //Create a unique file name var fileName = Guid.NewGuid().ToString(); //Upload a file var upload = _filesApi.CreateFile(fileName, _testFolder, uploadedFile.Length, uploadedFile); //Create buffer for download var downloadedFile = new byte[100]; //Download file var wait = new WaitForVirusScan(_filesApi); (await wait.DownloadFileWithRetry(upload.Id)).Read(downloadedFile); Assert.AreEqual(uploadedFile, downloadedFile); }