Пример #1
0
        public SftpFileSystemProviderTest()
        {
            _assemblyPath   = Path.GetDirectoryName(typeof(DotNetFileSystemProviderTest).GetTypeInfo().Assembly.Location);
            _textFileName   = "TextFile1.txt";
            _fileToMoveName = "FileToMove.txt";

            _localFilesFolder = $"IO{Path.DirectorySeparatorChar}FileSystem{Path.DirectorySeparatorChar}Files";
            _filesPath        = Path.Combine(_assemblyPath, _localFilesFolder);
            _originFilesPath  = Path.Combine(_assemblyPath, $"IO{Path.DirectorySeparatorChar}FileSystem{Path.DirectorySeparatorChar}OriginFolder");

            _fakeSftpClient = A.Fake <ISftpClient>();
            A.CallTo(() => _fakeSftpClient.GetWorkingDirectory()).Returns("not empty");
            var fakeSftpFile = A.Fake <ISftpFile>();

            fakeSftpFile.Name = "111111";

            var fakeSftpFile2 = A.Fake <ISftpFile>();

            fakeSftpFile2.Name = "111111.csv";

            var fakeSftpFiles = new List <ISftpFile> {
                fakeSftpFile, fakeSftpFile2
            };

            A.CallTo(() => _fakeSftpClient.ListDirectory(_filesPath, null)).Returns(fakeSftpFiles);

            A.CallTo(() => _fakeSftpClient.OpenRead(Path.Combine(_filesPath, _textFileName))).Returns(new MemoryStream(Encoding.UTF8.GetBytes("my content")));
            A.CallTo(() => _fakeSftpClient.ReadAllText(Path.Combine(_filesPath, _textFileName))).Returns("my content");
            A.CallTo(() => _fakeSftpClient.Exists(_filesPath)).Returns(true);


            _fileSystem = new SftpFileSystemProvider(_fakeSftpClient);
        }
Пример #2
0
        public void Can_OpenReadAFile()
        {
            var    fileContent = "my content";
            var    stream      = _fileSystem.OpenReadFile(Path.Combine(_filesPath, _textFileName));
            string content     = new StreamReader(stream, Encoding.UTF8).ReadToEnd();

            A.CallTo(() => _fakeSftpClient.OpenRead(Path.Combine(_filesPath, _textFileName))).MustHaveHappened(Repeated.Exactly.Once);
            Assert.Equal(content, fileContent);
        }
Пример #3
0
 /// <summary>
 /// Opens an existing remote sftp file for reading
 /// </summary>
 /// <param name="path">
 /// the path
 /// </param>
 /// <returns>
 /// Stream of the file
 /// </returns>
 public Stream OpenReadFile(string path)
 {
     return(_sftpClient.OpenRead(path));
 }