RenameFileTest.cs 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using Microsoft.VisualStudio.TestTools.UnitTesting;
  6. using Renci.SshNet.Tests.Properties;
  7. using System.IO;
  8. namespace Renci.SshNet.Tests.SftpClientTests
  9. {
  10. [TestClass]
  11. public class RenameFileTest
  12. {
  13. [TestInitialize()]
  14. public void CleanCurrentFolder()
  15. {
  16. using (var client = new SshClient(Resources.HOST, Resources.USERNAME, Resources.PASSWORD))
  17. {
  18. client.Connect();
  19. client.RunCommand("rm -rf *");
  20. client.Disconnect();
  21. }
  22. }
  23. [TestMethod]
  24. [TestCategory("Sftp")]
  25. public void Test_Sftp_Rename_File()
  26. {
  27. using (var sftp = new SftpClient(Resources.HOST, Resources.USERNAME, Resources.PASSWORD))
  28. {
  29. sftp.Connect();
  30. string uploadedFileName = Path.GetTempFileName();
  31. string remoteFileName1 = Path.GetRandomFileName();
  32. string remoteFileName2 = Path.GetRandomFileName();
  33. this.CreateTestFile(uploadedFileName, 1);
  34. using (var file = File.OpenRead(uploadedFileName))
  35. {
  36. sftp.UploadFile(file, remoteFileName1);
  37. }
  38. sftp.RenameFile(remoteFileName1, remoteFileName2);
  39. File.Delete(uploadedFileName);
  40. sftp.Disconnect();
  41. }
  42. }
  43. [TestMethod]
  44. [TestCategory("Sftp")]
  45. [Description("Test passing null to RenameFile.")]
  46. [ExpectedException(typeof(ArgumentNullException))]
  47. public void Test_Sftp_RenameFile_Null()
  48. {
  49. using (var sftp = new SftpClient(Resources.HOST, Resources.USERNAME, Resources.PASSWORD))
  50. {
  51. sftp.Connect();
  52. sftp.RenameFile(null, null);
  53. sftp.Disconnect();
  54. }
  55. }
  56. /// <summary>
  57. /// Creates the test file.
  58. /// </summary>
  59. /// <param name="fileName">Name of the file.</param>
  60. /// <param name="size">Size in megabytes.</param>
  61. private void CreateTestFile(string fileName, int size)
  62. {
  63. using (var testFile = File.Create(fileName))
  64. {
  65. var random = new Random();
  66. for (int i = 0; i < 1024 * size; i++)
  67. {
  68. var buffer = new byte[1024];
  69. random.NextBytes(buffer);
  70. testFile.Write(buffer, 0, buffer.Length);
  71. }
  72. }
  73. }
  74. }
  75. }