| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- using System;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
- using Renci.SshNet.Tests.Common;
- namespace Renci.SshNet.Tests.Classes
- {
- /// <summary>
- /// Implementation of the SSH File Transfer Protocol (SFTP) over SSH.
- /// </summary>
- [TestClass]
- public partial class SftpClientTest : TestBase
- {
- private Random _random;
- [TestInitialize]
- public void SetUp()
- {
- _random = new Random();
- }
- [TestMethod]
- public void OperationTimeout_Default()
- {
- var connectionInfo = new PasswordConnectionInfo("host", 22, "admin", "pwd");
- var target = new SftpClient(connectionInfo);
- var actual = target.OperationTimeout;
- Assert.AreEqual(TimeSpan.FromMilliseconds(-1), actual);
- }
- [TestMethod]
- public void OperationTimeout_InsideLimits()
- {
- var operationTimeout = TimeSpan.FromMilliseconds(_random.Next(0, int.MaxValue - 1));
- var connectionInfo = new PasswordConnectionInfo("host", 22, "admin", "pwd");
- var target = new SftpClient(connectionInfo)
- {
- OperationTimeout = operationTimeout
- };
- var actual = target.OperationTimeout;
- Assert.AreEqual(operationTimeout, actual);
- }
- [TestMethod]
- public void OperationTimeout_LowerLimit()
- {
- var operationTimeout = TimeSpan.FromMilliseconds(-1);
- var connectionInfo = new PasswordConnectionInfo("host", 22, "admin", "pwd");
- var target = new SftpClient(connectionInfo)
- {
- OperationTimeout = operationTimeout
- };
- var actual = target.OperationTimeout;
- Assert.AreEqual(operationTimeout, actual);
- }
- [TestMethod]
- public void OperationTimeout_UpperLimit()
- {
- var operationTimeout = TimeSpan.FromMilliseconds(int.MaxValue);
- var connectionInfo = new PasswordConnectionInfo("host", 22, "admin", "pwd");
- var target = new SftpClient(connectionInfo)
- {
- OperationTimeout = operationTimeout
- };
- var actual = target.OperationTimeout;
- Assert.AreEqual(operationTimeout, actual);
- }
- [TestMethod]
- public void OperationTimeout_LessThanLowerLimit()
- {
- var operationTimeout = TimeSpan.FromMilliseconds(-2);
- var connectionInfo = new PasswordConnectionInfo("host", 22, "admin", "pwd");
- var target = new SftpClient(connectionInfo);
- try
- {
- target.OperationTimeout = operationTimeout;
- }
- catch (ArgumentOutOfRangeException ex)
- {
- Assert.IsNull(ex.InnerException);
- ArgumentExceptionAssert.MessageEquals("The timeout must represent a value between -1 and Int32.MaxValue milliseconds, inclusive.", ex);
- Assert.AreEqual("OperationTimeout", ex.ParamName);
- }
- }
- [TestMethod]
- public void OperationTimeout_GreaterThanLowerLimit()
- {
- var operationTimeout = TimeSpan.FromMilliseconds(int.MaxValue).Add(TimeSpan.FromMilliseconds(1));
- var connectionInfo = new PasswordConnectionInfo("host", 22, "admin", "pwd");
- var target = new SftpClient(connectionInfo);
- try
- {
- target.OperationTimeout = operationTimeout;
- }
- catch (ArgumentOutOfRangeException ex)
- {
- Assert.IsNull(ex.InnerException);
- ArgumentExceptionAssert.MessageEquals("The timeout must represent a value between -1 and Int32.MaxValue milliseconds, inclusive.", ex);
- Assert.AreEqual("OperationTimeout", ex.ParamName);
- }
- }
- }
- }
|