示例#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_LoadContentOfAFile()
        {
            var returnedContent = _fileSystem.LoadContent(Path.Combine(_filesPath, _textFileName));

            A.CallTo(() => _fakeSftpClient.ReadAllText(Path.Combine(_filesPath, _textFileName))).MustHaveHappened(Repeated.Exactly.Once);

            var fileContent = "my content";

            Assert.Equal(returnedContent, fileContent);
        }
 /// <summary>
 /// Load content from the given file
 /// </summary>
 /// <param name="filePath">
 /// the file path
 /// </param>
 /// <returns>
 /// the file content
 /// </returns>
 public string LoadContent(string filePath)
 {
     return(_sftpClient.ReadAllText(filePath));
 }