| 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);            }        }    }}
 |