PasswordConnectionInfoTest.cs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using System;
  2. using System.Net;
  3. using Microsoft.VisualStudio.TestTools.UnitTesting;
  4. using Renci.SshNet.Tests.Common;
  5. using Renci.SshNet.Tests.Properties;
  6. namespace Renci.SshNet.Tests.Classes
  7. {
  8. /// <summary>
  9. /// Provides connection information when password authentication method is used
  10. /// </summary>
  11. [TestClass]
  12. public class PasswordConnectionInfoTest : TestBase
  13. {
  14. [TestMethod]
  15. public void Test_ConnectionInfo_Host_Is_Null()
  16. {
  17. try
  18. {
  19. _ = new PasswordConnectionInfo(null, Resources.USERNAME, Resources.PASSWORD);
  20. Assert.Fail();
  21. }
  22. catch (ArgumentNullException ex)
  23. {
  24. Assert.IsNull(ex.InnerException);
  25. Assert.AreEqual("host", ex.ParamName);
  26. }
  27. }
  28. [TestMethod]
  29. public void Test_ConnectionInfo_Username_Is_Null()
  30. {
  31. Assert.ThrowsException<ArgumentNullException>(() => new PasswordConnectionInfo(Resources.HOST, null, Resources.PASSWORD));
  32. }
  33. [TestMethod]
  34. public void Test_ConnectionInfo_Password_Is_Null()
  35. {
  36. Assert.ThrowsException<ArgumentNullException>(
  37. () => new PasswordConnectionInfo(Resources.HOST, Resources.USERNAME, (string)null));
  38. }
  39. [TestMethod]
  40. public void Test_ConnectionInfo_Username_Is_Whitespace()
  41. {
  42. Assert.ThrowsException<ArgumentException>(() => new PasswordConnectionInfo(Resources.HOST, " ", Resources.PASSWORD));
  43. }
  44. [TestMethod]
  45. public void Test_ConnectionInfo_SmallPortNumber()
  46. {
  47. Assert.ThrowsException<ArgumentOutOfRangeException>(
  48. () => new PasswordConnectionInfo(Resources.HOST, IPEndPoint.MinPort - 1, Resources.USERNAME, Resources.PASSWORD));
  49. }
  50. [TestMethod]
  51. public void Test_ConnectionInfo_BigPortNumber()
  52. {
  53. Assert.ThrowsException<ArgumentOutOfRangeException>(
  54. () => new PasswordConnectionInfo(Resources.HOST, IPEndPoint.MaxPort + 1, Resources.USERNAME, Resources.PASSWORD));
  55. }
  56. }
  57. }