ForwardedPortRemoteTest_Dispose_PortDisposed.cs 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Globalization;
  4. using System.Net;
  5. using Microsoft.VisualStudio.TestTools.UnitTesting;
  6. using Moq;
  7. using Renci.SshNet.Channels;
  8. using Renci.SshNet.Common;
  9. using Renci.SshNet.Messages.Connection;
  10. namespace Renci.SshNet.Tests.Classes
  11. {
  12. [TestClass]
  13. public class ForwardedPortRemoteTest_Dispose_PortDisposed
  14. {
  15. private ForwardedPortRemote _forwardedPort;
  16. private IPEndPoint _bindEndpoint;
  17. private IPEndPoint _remoteEndpoint;
  18. private IList<EventArgs> _closingRegister;
  19. private IList<ExceptionEventArgs> _exceptionRegister;
  20. [TestInitialize]
  21. public void Setup()
  22. {
  23. Arrange();
  24. Act();
  25. }
  26. [TestCleanup]
  27. public void Cleanup()
  28. {
  29. if (_forwardedPort != null)
  30. {
  31. _forwardedPort.Dispose();
  32. _forwardedPort = null;
  33. }
  34. }
  35. protected void Arrange()
  36. {
  37. var random = new Random();
  38. _closingRegister = new List<EventArgs>();
  39. _exceptionRegister = new List<ExceptionEventArgs>();
  40. _bindEndpoint = new IPEndPoint(IPAddress.Any, random.Next(IPEndPoint.MinPort, IPEndPoint.MaxPort));
  41. _remoteEndpoint = new IPEndPoint(IPAddress.Parse("193.168.1.5"), random.Next(IPEndPoint.MinPort, IPEndPoint.MaxPort));
  42. _forwardedPort = new ForwardedPortRemote(_bindEndpoint.Address, (uint) _bindEndpoint.Port, _remoteEndpoint.Address, (uint) _remoteEndpoint.Port);
  43. _forwardedPort.Closing += (sender, args) => _closingRegister.Add(args);
  44. _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args);
  45. _forwardedPort.Dispose();
  46. }
  47. protected void Act()
  48. {
  49. _forwardedPort.Dispose();
  50. }
  51. [TestMethod]
  52. public void IsStartedShouldReturnFalse()
  53. {
  54. Assert.IsFalse(_forwardedPort.IsStarted);
  55. }
  56. [TestMethod]
  57. public void ClosingShouldNotHaveFired()
  58. {
  59. Assert.AreEqual(0, _closingRegister.Count);
  60. }
  61. [TestMethod]
  62. public void ExceptionShouldNotHaveFired()
  63. {
  64. Assert.AreEqual(0, _exceptionRegister.Count);
  65. }
  66. }
  67. }