public void TestOpenUsing(string host, int port, FtpSecurityProtocol protocol, string user, string pwd, string server) { using (FtpClient c = new FtpClient(host, port, protocol)) { c.AlwaysAcceptServerCertificate = true; c.Open(user, pwd); Assert.IsTrue(c.IsConnected); } }
public void TestUserReportedError2(string host, int port, FtpSecurityProtocol protocol, string user, string pwd, string server) { FtpClient ftp = new FtpClient("127.0.0.1", port, protocol); ftp.AlwaysAcceptServerCertificate = true; ftp.Open("test", "test"); ftp.GetFile("luna.h", "luna1-2.h", FileAction.Create); ftp.Close(); }
public void TestPutFileResume(string host, int port, FtpSecurityProtocol protocol, string user, string pwd, string server, int fileSize) { using (FtpClient c = new FtpClient(host, port, protocol)) { c.AlwaysAcceptServerCertificate = true; c.Open(user, pwd); Assert.IsTrue(c.IsConnected); MemoryStream m1 = GetRandom(fileSize); MemoryStream m2 = GetRandom(fileSize); byte[] a = m1.ToArray(); byte[] b = m2.ToArray(); byte[] l = new byte[a.Length + b.Length]; Array.Copy(a, l, a.Length); Array.Copy(b, 0, l, a.Length, b.Length); // m3 is m1 + m2 MemoryStream m3 = new MemoryStream(l); string fname = GetGuidString(); try { c.PutFile(m1, fname, FileAction.Create); Assert.IsTrue(c.Exists(fname)); MemoryStream o1 = new MemoryStream(); c.GetFile(fname, o1, false); o1.Position = 0; //compare bytes to verify Assert.IsTrue(Compare(m1, o1)); // put m3 as a resume file c.PutFile(m3, fname, FileAction.Resume); Assert.IsTrue(c.Exists(fname)); MemoryStream o2 = new MemoryStream(); c.GetFile(fname, o2, false); o1.Position = 0; //compare bytes to verify Assert.IsTrue(Compare(m3, o2)); } finally { c.DeleteFile(fname); } } }
public void TestUtf8On2(string host, int port, FtpSecurityProtocol protocol, string user, string pwd, string server) { using (FtpClient c = new FtpClient(host, port, protocol)) { c.AlwaysAcceptServerCertificate = true; c.Open(user, pwd); Assert.IsTrue(c.IsConnected); c.SetUtf8Off(); Assert.IsTrue(c.Encoding == Encoding.ASCII); } }
public void TestGetSystemType(string host, int port, FtpSecurityProtocol protocol, string user, string pwd, string server) { using (FtpClient c = new FtpClient(host, port, protocol)) { c.AlwaysAcceptServerCertificate = true; c.Open(user, pwd); Assert.IsTrue(c.IsConnected); string r = c.GetSystemType(); Assert.IsNotNullOrEmpty(r); Debug.WriteLine("RESULT: " + r); } }
public void TestPutFileUnique(string host, int port, FtpSecurityProtocol protocol, string user, string pwd, string server) { using (FtpClient c = new FtpClient(host, port, protocol)) { c.AlwaysAcceptServerCertificate = true; c.Open(user, pwd); Assert.IsTrue(c.IsConnected); byte[] bytes = new byte[1024]; MemoryStream m = new MemoryStream(bytes); string fname = c.PutFileUnique(m); c.DeleteFile(fname); } }
public void TestRepeatedOpen(string host, int port, FtpSecurityProtocol protocol, string user, string pwd, string server, int connections) { for (int i = 0; i < connections; i++) { using (FtpClient c = new FtpClient(host, port, protocol)) { Debug.WriteLine("********** START **********"); c.AlwaysAcceptServerCertificate = true; c.Open(user, pwd); Assert.IsTrue(c.IsConnected); Debug.WriteLine("********** PASSED **********"); } } }
public void TestPutFileCreateNew(string host, int port, FtpSecurityProtocol protocol, string user, string pwd, string server, int fileSize) { using (FtpClient c = new FtpClient(host, port, protocol)) { c.AlwaysAcceptServerCertificate = true; c.Open(user, pwd); Assert.IsTrue(c.IsConnected); MemoryStream m1 = GetRandom(fileSize); MemoryStream m2 = GetRandom(fileSize); string fname = GetGuidString(); bool fail = false; try { c.PutFile(m1, fname, FileAction.Create); Assert.IsTrue(c.Exists(fname)); MemoryStream o1 = new MemoryStream(); c.GetFile(fname, o1, false); o1.Position = 0; //compare bytes to verify Assert.IsTrue(Compare(m1, o1)); c.PutFile(m1, fname, FileAction.Create); try { // put a second time which should cause an exception to be thrown // since there is an existing file already on the server c.PutFile(m1, fname, FileAction.CreateNew); } catch (FtpDataTransferException) { fail = true; } Assert.IsTrue(fail); } finally { c.DeleteFile(fname); } } }
public void TestChangeDirectory(string host, int port, FtpSecurityProtocol protocol, string user, string pwd, string server) { using (FtpClient c = new FtpClient(host, port, protocol)) { c.AlwaysAcceptServerCertificate = true; c.Open(user, pwd); Assert.IsTrue(c.IsConnected); string dir1 = Guid.NewGuid().ToString(); string dir2 = Guid.NewGuid().ToString(); string dir3 = Guid.NewGuid().ToString(); string dir4 = Guid.NewGuid().ToString(); // create the directories and change into them c.MakeDirectory(dir1); c.ChangeDirectory(dir1); c.MakeDirectory(dir2); c.ChangeDirectory(dir2); c.MakeDirectory(dir3); c.ChangeDirectory(dir3); c.MakeDirectory(dir4); c.ChangeDirectoryUp(); c.ChangeDirectoryUp(); c.ChangeDirectoryUp(); c.ChangeDirectoryUp(); // try changing directory using a full path which does // not work for all FTP servers c.ChangeDirectory(String.Format("{0}/{1}/{2}/{3}", dir1, dir2, dir3, dir4)); c.ChangeDirectory("//"); // try changing directory using multipath command which should work // for all FTP servers c.ChangeDirectoryMultiPath(String.Format("{0}/{1}/{2}/{3}", dir1, dir2, dir3, dir4)); c.ChangeDirectoryUp(); // delete the temporary directories c.DeleteDirectory(dir4); c.ChangeDirectoryUp(); c.DeleteDirectory(dir3); c.ChangeDirectoryUp(); c.DeleteDirectory(dir2); c.ChangeDirectoryUp(); c.DeleteDirectory(dir1); } }
public void TestPutFileCreateOrAppend(string host, int port, FtpSecurityProtocol protocol, string user, string pwd, string server, int fileSize) { using (FtpClient c = new FtpClient(host, port, protocol)) { c.AlwaysAcceptServerCertificate = true; c.Open(user, pwd); Assert.IsTrue(c.IsConnected); MemoryStream m1 = GetRandom(fileSize); MemoryStream m2 = GetRandom(fileSize); string fname = GetGuidString(); try { c.PutFile(m1, fname, FileAction.Create); Assert.IsTrue(c.Exists(fname)); MemoryStream o1 = new MemoryStream(); c.GetFile(fname, o1, false); o1.Position = 0; //compare bytes to verify Assert.IsTrue(Compare(m1, o1)); // put a second file which should append to the first file c.PutFile(m2, fname, FileAction.CreateOrAppend); Assert.IsTrue(c.Exists(fname)); MemoryStream o2 = new MemoryStream(); c.GetFile(fname, o2, false); o1.Position = 0; //compare bytes to verify m1 and m2 were appended together Assert.IsTrue(Compare(m1, m2, o2)); } finally { c.DeleteFile(fname); } } }
public void TestMultiOpen(string host, int port, FtpSecurityProtocol protocol, string user, string pwd, string server, int connections) { FtpClient[] lst = new FtpClient[connections]; for (int i = 0; i < lst.Length; i++) { FtpClient c = new FtpClient(host, port, protocol); c.AlwaysAcceptServerCertificate = true; c.Open(user, pwd); Assert.IsTrue(c.IsConnected); lst[i] = c; } for (int i = 0; i < lst.Length; i++) { lst[i].Close(); } }
public void TestGetDirList(string host, int port, FtpSecurityProtocol protocol, string user, string pwd, string server) { using (FtpClient c = new FtpClient(host, port, protocol)) { c.AlwaysAcceptServerCertificate = true; c.Open(user, pwd); Assert.IsTrue(c.IsConnected); FtpItemCollection lst = c.GetDirList(); Debug.WriteLine("==================================================="); Debug.WriteLine("DIRECTORY DUMP"); Debug.WriteLine("==================================================="); foreach (FtpItem item in lst) { Debug.WriteLine(item.RawText); Debug.WriteLine(item.ToString()); } Debug.WriteLine("==================================================="); } }
public void TestPutFileResumeCreate(string host, int port, FtpSecurityProtocol protocol, string user, string pwd, string server, int fileSize) { using (FtpClient c = new FtpClient(host, port, protocol)) { c.AlwaysAcceptServerCertificate = true; c.Open(user, pwd); Assert.IsTrue(c.IsConnected); MemoryStream m1 = GetRandom(fileSize); MemoryStream m2 = GetRandom(fileSize); string fname = GetGuidString(); try { // attempt to put a new file on the system which will result in // no resume action but rather a create action to be performed c.PutFile(m1, fname, FileAction.ResumeOrCreate); Assert.IsTrue(c.Exists(fname)); MemoryStream o1 = new MemoryStream(); c.GetFile(fname, o1, false); o1.Position = 0; //compare bytes to verify Assert.IsTrue(Compare(m1, o1)); // try to resume the file after it has already been transmitted // this should result in a test on the file lengths and no action // being performed by the FTP client c.PutFile(m1, fname, FileAction.Resume); } finally { c.DeleteFile(fname); } } }
public void TestGetFileInfo(string host, int port, FtpSecurityProtocol protocol, string user, string pwd, ListingMethod method) { using (FtpClient c = new FtpClient(host, port, protocol)) { Debug.WriteLine("********** BEGINNING **********"); c.AlwaysAcceptServerCertificate = true; c.DirListingMethod = method; c.Open(user, pwd); Assert.IsTrue(c.IsConnected); // get information about the root directory FtpItem m = c.GetFileInfo("."); if (m is FtpMlsxItem) { Debug.Write(((FtpMlsxItem)m).ToString()); } else { Debug.Write(m.ToString()); } Debug.WriteLine("********** ENDING **********"); } }
/// <summary> /// Initializes a new instance of the FtpNetworkAdapter class. /// </summary> /// <param name="host">Host the adapter is to communicate on.</param> /// <param name="port">Port number the adapter is to communicate on.</param> /// <param name="securityProtocol">Value indicating what secure security communications protocol should be used (if any).</param> internal FtpBase(string host, int port, FtpSecurityProtocol securityProtocol) { _host = host; _port = port; _securityProtocol = securityProtocol; }
/// <summary> /// Initializes a new instance of the FtpNetworkAdapter class. /// </summary> /// <param name="port">Port number the adapter is to communicate on.</param> /// <param name="securityProtocol">Value indicating what secure security communications protocol should be used (if any).</param> internal FtpBase(int port, FtpSecurityProtocol securityProtocol) { _port = port; _securityProtocol = securityProtocol; }
public FtpClient(Sync sync, string host, int port, FtpSecurityProtocol protocol, int Index, bool isSource) : base(host, port, protocol) { Sync = sync; this.Index = Index; this.IsSource = isSource; SupportsFXP = false; }
/// <summary> /// Constructor method for FtpClient. /// </summary> /// <param name="host">String containing the host name or ip address of the remote FTP server.</param> /// <param name="port">Port number used to connect to the remote FTP server.</param> /// <param name="securityProtocol">Enumeration value indicating what security protocol (such as SSL) should be enabled for this connection.</param> /// <remarks> /// This method takes three parameters that specify /// the host name (or ip address), port to connect to and what security protocol should be used when establishing the connection. /// </remarks> public FtpClient(string host, int port, FtpSecurityProtocol securityProtocol) : base(host, port, securityProtocol) { }
public override FtpProvider Client(string host, int port, FtpSecurityProtocol securityProtocol) { return new StarksoftProvider { FtpClient = new Starksoft.Net.Ftp.FtpClient(host, port, securityProtocol) }; }