Fix ultimi test x FTP, ora va implementato adapter
This commit is contained in:
@@ -341,7 +341,7 @@ namespace EgwProxy.Ftp.Test
|
||||
ftpClient.createDir(remoteDir);
|
||||
}
|
||||
|
||||
var mirrorDone = ftpClient.sendDir(localDir, remoteDir);
|
||||
var mirrorDone = ftpClient.sendDir(localDir, remoteDir, true);
|
||||
esitoStep = mirrorDone ? $"Directory {localDir} mirrored L2R!" : $"Error: {remoteDir} NOT mirrored!";
|
||||
|
||||
}
|
||||
@@ -362,7 +362,7 @@ namespace EgwProxy.Ftp.Test
|
||||
var preTest = ftpClient.dirExists(remoteDir);
|
||||
if (preTest)
|
||||
{
|
||||
var mirrorDone = ftpClient.getDir(localDir, remoteDir);
|
||||
var mirrorDone = ftpClient.getDir(localDir, remoteDir, true);
|
||||
esitoStep = mirrorDone ? $"Directory {remoteDir} mirrored R2L!" : $"Error: {remoteDir} NOT mirrored!";
|
||||
}
|
||||
else
|
||||
|
||||
+34
-10
@@ -7,7 +7,9 @@ using System.Net.Security;
|
||||
namespace EgwProxy.Ftp
|
||||
{
|
||||
/// <summary>
|
||||
/// Client per operazioni FTP, basato su FluentFTP: https://github.com/robinrodricks/FluentFTP/wiki/Quick-Start-Example
|
||||
/// Client per operazioni FTP, basato su FluentFTP:
|
||||
/// https://github.com/robinrodricks/FluentFTP
|
||||
/// https://github.com/robinrodricks/FluentFTP/wiki/Quick-Start-Example
|
||||
/// </summary>
|
||||
public class Manager
|
||||
{
|
||||
@@ -40,6 +42,7 @@ namespace EgwProxy.Ftp
|
||||
{
|
||||
client = new FtpClient(server);
|
||||
}
|
||||
client.Config.RetryAttempts = 3;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -136,15 +139,23 @@ namespace EgwProxy.Ftp
|
||||
/// </summary>
|
||||
/// <param name="localDir">Path directory da inviare (ad es:@"C:\website\videos\")</param>
|
||||
/// <param name="remoteDir">Nome remoto file per caricamento (ad es: @"/public_html/videos")</param>
|
||||
public bool getDir(string localDir, string remoteDir)
|
||||
/// <param name="forceUpdate">Indica se sia richeisto udpate post mirroring</param>
|
||||
public bool getDir(string localDir, string remoteDir, bool forceUpdate = false)
|
||||
{
|
||||
bool answ = false;
|
||||
tryConnect();
|
||||
try
|
||||
{
|
||||
tryConnect();
|
||||
//var result = client.DownloadDirectory(localDir, remoteDir, FtpFolderSyncMode.Mirror, FtpLocalExists.Overwrite, FtpVerify.Retry);
|
||||
// upload della folder + files, cancellazione extra files = mirroring
|
||||
var result = client.DownloadDirectory(localDir, remoteDir, FtpFolderSyncMode.Mirror, FtpLocalExists.Overwrite, FtpVerify.Delete);
|
||||
answ = (result != null && result.Count > 0);
|
||||
List<FtpResult> result;
|
||||
result = client.DownloadDirectory(localDir, remoteDir, FtpFolderSyncMode.Mirror);
|
||||
if (forceUpdate)
|
||||
{
|
||||
result = client.DownloadDirectory(localDir, remoteDir, FtpFolderSyncMode.Update);
|
||||
}
|
||||
//answ = (result != null && result.Count > 0);
|
||||
answ = result != null && result.Where(x => !x.IsSuccess).Count() == 0;
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
@@ -199,13 +210,26 @@ namespace EgwProxy.Ftp
|
||||
/// </summary>
|
||||
/// <param name="localDir">Path directory da inviare (ad es:@"C:\website\videos\")</param>
|
||||
/// <param name="remoteDir">Nome remoto file per caricamento (ad es: @"/public_html/videos")</param>
|
||||
public bool sendDir(string localDir, string remoteDir)
|
||||
/// <param name="forceUpdate">Indica se sia richeisto udpate post mirroring</param>
|
||||
public bool sendDir(string localDir, string remoteDir, bool forceUpdate = false)
|
||||
{
|
||||
bool answ = false;
|
||||
tryConnect();
|
||||
// upload della folder + files, cancellazione extra files = mirroring
|
||||
var result = client.UploadDirectory(localDir, remoteDir, FtpFolderSyncMode.Mirror, FtpRemoteExists.OverwriteInPlace, FtpVerify.Delete);
|
||||
answ = (result != null && result.Count > 0);
|
||||
try
|
||||
{
|
||||
tryConnect();
|
||||
//var result = client.UploadDirectory(localDir, remoteDir, FtpFolderSyncMode.Mirror, FtpRemoteExists.OverwriteInPlace, FtpVerify.Retry);
|
||||
// upload della folder + files, cancellazione extra files = mirroring
|
||||
List<FtpResult> result;
|
||||
result = client.UploadDirectory(localDir, remoteDir, FtpFolderSyncMode.Mirror);
|
||||
if (forceUpdate)
|
||||
{
|
||||
result = client.UploadDirectory(localDir, remoteDir, FtpFolderSyncMode.Update);
|
||||
}
|
||||
//answ = (result != null && result.Count > 0);
|
||||
answ = result!=null && result.Where(x => !x.IsSuccess).Count()==0;
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
// chiudo!
|
||||
client.Disconnect();
|
||||
return answ;
|
||||
|
||||
Reference in New Issue
Block a user