using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.VisualStudio.TestTools.UnitTesting; using Renci.SshNet.Tests.Properties; using System.IO; using Renci.SshNet.Common; namespace Renci.SshNet.Tests.SftpClientTests { [TestClass] public class GetTest { [TestInitialize()] public void CleanCurrentFolder() { using (var client = new SshClient(Resources.HOST, Resources.USERNAME, Resources.PASSWORD)) { client.Connect(); client.RunCommand("rm -rf *"); client.Disconnect(); } } [TestMethod] [TestCategory("Sftp")] public void Test_Get_Root_Directory() { using (var sftp = new SftpClient(Resources.HOST, Resources.USERNAME, Resources.PASSWORD)) { sftp.Connect(); var directory = sftp.Get("/"); Assert.AreEqual("/", directory.FullName); Assert.IsTrue(directory.IsDirectory); Assert.IsFalse(directory.IsRegularFile); } } [TestMethod] [TestCategory("Sftp")] [ExpectedException(typeof(SftpPathNotFoundException))] public void Test_Get_Invalid_Directory() { using (var sftp = new SftpClient(Resources.HOST, Resources.USERNAME, Resources.PASSWORD)) { sftp.Connect(); sftp.Get("/xyz"); } } [TestMethod] [TestCategory("Sftp")] public void Test_Get_File() { using (var sftp = new SftpClient(Resources.HOST, Resources.USERNAME, Resources.PASSWORD)) { sftp.Connect(); sftp.UploadFile(new MemoryStream(), "abc.txt"); var file = sftp.Get("abc.txt"); Assert.AreEqual("/home/tester/abc.txt", file.FullName); Assert.IsTrue(file.IsRegularFile); Assert.IsFalse(file.IsDirectory); } } [TestMethod] [TestCategory("Sftp")] [Description("Test passing null to Get.")] [ExpectedException(typeof(ArgumentNullException))] public void Test_Get_File_Null() { using (var sftp = new SftpClient(Resources.HOST, Resources.USERNAME, Resources.PASSWORD)) { sftp.Connect(); var file = sftp.Get(null); sftp.Disconnect(); } } [TestMethod] [TestCategory("Sftp")] public void Test_Get_International_File() { using (var sftp = new SftpClient(Resources.HOST, Resources.USERNAME, Resources.PASSWORD)) { sftp.Connect(); sftp.UploadFile(new MemoryStream(), "test-üöä-"); var file = sftp.Get("test-üöä-"); Assert.AreEqual("/home/tester/test-üöä-", file.FullName); Assert.IsTrue(file.IsRegularFile); Assert.IsFalse(file.IsDirectory); } } } }