1- using System . Text ;
2-
3- using Renci . SshNet . Common ;
4-
5- namespace Renci . SshNet . IntegrationTests
1+ namespace IntegrationTests
62{
73 /// <summary>
84 /// The SFTP client integration tests
@@ -19,35 +15,72 @@ public SftpClientTests()
1915 }
2016
2117 [ TestMethod ]
22- public void Test_Sftp_ListDirectory_Home_Directory ( )
18+ public void Create_directory_with_contents_and_list_it ( )
19+ {
20+ var testDirectory = "/home/sshnet/sshnet-test" ;
21+ var testFileName = "test-file.txt" ;
22+ var testFilePath = $ "{ testDirectory } /{ testFileName } ";
23+ var testContent = "file content" ;
24+
25+ // Create new directory and check if it exists
26+ _sftpClient . CreateDirectory ( testDirectory ) ;
27+ Assert . IsTrue ( _sftpClient . Exists ( testDirectory ) ) ;
28+
29+ // Upload file and check if it exists
30+ using var fileStream = new MemoryStream ( Encoding . UTF8 . GetBytes ( testContent ) ) ;
31+ _sftpClient . UploadFile ( fileStream , testFilePath ) ;
32+ Assert . IsTrue ( _sftpClient . Exists ( testFilePath ) ) ;
33+
34+ // Check if ListDirectory works
35+ var files = _sftpClient . ListDirectory ( testDirectory ) ;
36+
37+ _sftpClient . DeleteFile ( testFilePath ) ;
38+ _sftpClient . DeleteDirectory ( testDirectory ) ;
39+
40+ var builder = new StringBuilder ( ) ;
41+ foreach ( var file in files )
42+ {
43+ builder . AppendLine ( $ "{ file . FullName } { file . IsRegularFile } { file . IsDirectory } ") ;
44+ }
45+
46+ Assert . AreEqual ( @"/home/sshnet/sshnet-test/. False True
47+ /home/sshnet/sshnet-test/.. False True
48+ /home/sshnet/sshnet-test/test-file.txt True False
49+ " , builder . ToString ( ) ) ;
50+ }
51+
52+ [ TestMethod ]
53+ public async Task Create_directory_with_contents_and_list_it_async ( )
2354 {
55+ var testDirectory = "/home/sshnet/sshnet-test" ;
56+ var testFileName = "test-file.txt" ;
57+ var testFilePath = $ "{ testDirectory } /{ testFileName } ";
58+ var testContent = "file content" ;
59+
60+ // Create new directory and check if it exists
61+ _sftpClient . CreateDirectory ( testDirectory ) ;
62+ Assert . IsTrue ( _sftpClient . Exists ( testDirectory ) ) ;
63+
64+ // Upload file and check if it exists
65+ using var fileStream = new MemoryStream ( Encoding . UTF8 . GetBytes ( testContent ) ) ;
66+ _sftpClient . UploadFile ( fileStream , testFilePath ) ;
67+ Assert . IsTrue ( _sftpClient . Exists ( testFilePath ) ) ;
68+
69+ // Check if ListDirectory works
70+ var files = await _sftpClient . ListDirectoryAsync ( testDirectory , CancellationToken . None ) ;
71+
72+ _sftpClient . DeleteFile ( testFilePath ) ;
73+ _sftpClient . DeleteDirectory ( testDirectory ) ;
74+
2475 var builder = new StringBuilder ( ) ;
25- var files = _sftpClient . ListDirectory ( "/" ) ;
2676 foreach ( var file in files )
2777 {
28- builder . AppendLine ( $ "{ file . FullName } ") ;
78+ builder . AppendLine ( $ "{ file . FullName } { file . IsRegularFile } { file . IsDirectory } ") ;
2979 }
3080
31- Assert . AreEqual ( @"/usr
32- /var
33- /.
34- /bin
35- /mnt
36- /opt
37- /tmp
38- /etc
39- /root
40- /media
41- /..
42- /dev
43- /proc
44- /sys
45- /home
46- /lib
47- /sbin
48- /run
49- /srv
50- /.dockerenv
81+ Assert . AreEqual ( @"/home/sshnet/sshnet-test/. False True
82+ /home/sshnet/sshnet-test/.. False True
83+ /home/sshnet/sshnet-test/test-file.txt True False
5184" , builder . ToString ( ) ) ;
5285 }
5386
0 commit comments