| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189 |
- using Renci.SshNet.Common;
- namespace Renci.SshNet.IntegrationTests.OldIntegrationTests
- {
- /// <summary>
- /// Represents SFTP file information
- /// </summary>
- [TestClass]
- public class SftpFileTest : IntegrationTestBase
- {
- [TestMethod]
- [TestCategory("Sftp")]
- public void Test_Get_Root_Directory()
- {
- using (var sftp = new SftpClient(SshServerHostName, SshServerPort, User.UserName, User.Password))
- {
- sftp.Connect();
- var directory = sftp.Get("/");
- Assert.AreEqual("/", directory.FullName);
- Assert.IsTrue(directory.IsDirectory);
- Assert.IsFalse(directory.IsRegularFile);
- }
- }
- [TestMethod]
- [TestCategory("Sftp")]
- public void Test_Get_Invalid_Directory()
- {
- using (var sftp = new SftpClient(SshServerHostName, SshServerPort, User.UserName, User.Password))
- {
- sftp.Connect();
- Assert.ThrowsException<SftpPathNotFoundException>(() => sftp.Get("/xyz"));
- }
- }
- [TestMethod]
- [TestCategory("Sftp")]
- public void Test_Get_File()
- {
- using (var sftp = new SftpClient(SshServerHostName, SshServerPort, User.UserName, User.Password))
- {
- sftp.Connect();
- sftp.UploadFile(new MemoryStream(), "abc.txt");
- var file = sftp.Get("abc.txt");
- Assert.AreEqual("/home/sshnet/abc.txt", file.FullName);
- Assert.IsTrue(file.IsRegularFile);
- Assert.IsFalse(file.IsDirectory);
- }
- }
- [TestMethod]
- [TestCategory("Sftp")]
- public void Test_Get_File_Null()
- {
- using (var sftp = new SftpClient(SshServerHostName, SshServerPort, User.UserName, User.Password))
- {
- sftp.Connect();
- Assert.ThrowsException<ArgumentNullException>(() => sftp.Get(null));
- }
- }
- [TestMethod]
- [TestCategory("Sftp")]
- public void Test_Get_International_File()
- {
- using (var sftp = new SftpClient(SshServerHostName, SshServerPort, User.UserName, User.Password))
- {
- sftp.Connect();
- sftp.UploadFile(new MemoryStream(), "test-üöä-");
- var file = sftp.Get("test-üöä-");
- Assert.AreEqual("/home/sshnet/test-üöä-", file.FullName);
- Assert.IsTrue(file.IsRegularFile);
- Assert.IsFalse(file.IsDirectory);
- }
- }
- [TestMethod]
- [TestCategory("Sftp")]
- public async Task Test_Get_Root_DirectoryAsync()
- {
- using (var sftp = new SftpClient(SshServerHostName, SshServerPort, User.UserName, User.Password))
- {
- sftp.Connect();
- var directory = await sftp.GetAsync("/", default).ConfigureAwait(false);
- Assert.AreEqual("/", directory.FullName);
- Assert.IsTrue(directory.IsDirectory);
- Assert.IsFalse(directory.IsRegularFile);
- }
- }
- [TestMethod]
- [TestCategory("Sftp")]
- public async Task Test_Get_Invalid_DirectoryAsync()
- {
- using (var sftp = new SftpClient(SshServerHostName, SshServerPort, User.UserName, User.Password))
- {
- sftp.Connect();
- await Assert.ThrowsExceptionAsync<SftpPathNotFoundException>(() => sftp.GetAsync("/xyz", default));
- }
- }
- [TestMethod]
- [TestCategory("Sftp")]
- public async Task Test_Get_FileAsync()
- {
- using (var sftp = new SftpClient(SshServerHostName, SshServerPort, User.UserName, User.Password))
- {
- sftp.Connect();
- sftp.UploadFile(new MemoryStream(), "abc.txt");
- var file = await sftp.GetAsync("abc.txt", default).ConfigureAwait(false);
- Assert.AreEqual("/home/sshnet/abc.txt", file.FullName);
- Assert.IsTrue(file.IsRegularFile);
- Assert.IsFalse(file.IsDirectory);
- }
- }
- [TestMethod]
- [TestCategory("Sftp")]
- public async Task Test_Get_File_NullAsync()
- {
- using (var sftp = new SftpClient(SshServerHostName, SshServerPort, User.UserName, User.Password))
- {
- sftp.Connect();
- await Assert.ThrowsExceptionAsync<ArgumentNullException>(() => sftp.GetAsync(null, default));
- }
- }
- [TestMethod]
- [TestCategory("Sftp")]
- public async Task Test_Get_International_FileAsync()
- {
- using (var sftp = new SftpClient(SshServerHostName, SshServerPort, User.UserName, User.Password))
- {
- sftp.Connect();
- sftp.UploadFile(new MemoryStream(), "test-üöä-");
- var file = await sftp.GetAsync("test-üöä-", default).ConfigureAwait(false);
- Assert.AreEqual("/home/sshnet/test-üöä-", file.FullName);
- Assert.IsTrue(file.IsRegularFile);
- Assert.IsFalse(file.IsDirectory);
- }
- }
- [TestMethod]
- [TestCategory("Sftp")]
- public void Test_Sftp_SftpFile_MoveTo()
- {
- using (var sftp = new SftpClient(SshServerHostName, SshServerPort, User.UserName, User.Password))
- {
- sftp.Connect();
- string uploadedFileName = Path.GetTempFileName();
- string remoteFileName = Path.GetRandomFileName();
- string newFileName = Path.GetRandomFileName();
- CreateTestFile(uploadedFileName, 1);
- using (var file = File.OpenRead(uploadedFileName))
- {
- sftp.UploadFile(file, remoteFileName);
- }
- var sftpFile = sftp.Get(remoteFileName);
- sftpFile.MoveTo(newFileName);
- Assert.AreEqual(newFileName, sftpFile.Name);
- sftp.Disconnect();
- }
- }
- }
- }
|