| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- using System;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
- using Renci.SshNet.Common;
- using Renci.SshNet.Sftp;
- using Renci.SshNet.Sftp.Responses;
- namespace Renci.SshNet.Tests.Classes.Sftp.Responses
- {
- [TestClass]
- public class SftpAttrsResponseTest
- {
- private Random _random;
- private uint _protocolVersion;
- private uint _responseId;
- [TestInitialize]
- public void Init()
- {
- _random = new Random();
- _protocolVersion = (uint)_random.Next(0, int.MaxValue);
- _responseId = (uint)_random.Next(0, int.MaxValue);
- }
- [TestMethod]
- public void Constructor()
- {
- var target = new SftpAttrsResponse(_protocolVersion);
- Assert.IsNull(target.Attributes);
- Assert.AreEqual(_protocolVersion, target.ProtocolVersion);
- Assert.AreEqual((uint)0, target.ResponseId);
- Assert.AreEqual(SftpMessageTypes.Attrs, target.SftpMessageType);
- }
- [TestMethod]
- public void Load()
- {
- var target = new SftpAttrsResponse(_protocolVersion);
- var attributes = CreateSftpFileAttributes();
- var attributesBytes = attributes.GetBytes();
- var sshDataStream = new SshDataStream(4 + attributesBytes.Length);
- sshDataStream.Write(_responseId);
- sshDataStream.Write(attributesBytes, 0, attributesBytes.Length);
- target.Load(sshDataStream.ToArray());
- Assert.IsNotNull(target.Attributes);
- Assert.AreEqual(_protocolVersion, target.ProtocolVersion);
- Assert.AreEqual(_responseId, target.ResponseId);
- Assert.AreEqual(SftpMessageTypes.Attrs, target.SftpMessageType);
- // check attributes in detail
- Assert.AreEqual(attributes.GroupId, target.Attributes.GroupId);
- Assert.AreEqual(attributes.LastWriteTime, target.Attributes.LastWriteTime);
- Assert.AreEqual(attributes.LastWriteTime, target.Attributes.LastWriteTime);
- Assert.AreEqual(attributes.UserId, target.Attributes.UserId);
- }
- private SftpFileAttributes CreateSftpFileAttributes()
- {
- var attributes = SftpFileAttributes.Empty;
- attributes.GroupId = _random.Next();
- attributes.LastAccessTime = new DateTime(2014, 8, 23, 17, 43, 50, DateTimeKind.Local);
- attributes.LastWriteTime = new DateTime(2013, 7, 22, 16, 40, 42, DateTimeKind.Local);
- attributes.UserId = _random.Next();
- return attributes;
- }
- }
- }
|