NetworkExtensionsTests.cs 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. using FsCheck;
  2. using FsCheck.Xunit;
  3. using MediaBrowser.Common.Net;
  4. using Xunit;
  5. namespace Jellyfin.Networking.Tests
  6. {
  7. public static class NetworkExtensionsTests
  8. {
  9. /// <summary>
  10. /// Checks IP address formats.
  11. /// </summary>
  12. /// <param name="address">IP Address.</param>
  13. [Theory]
  14. [InlineData("127.0.0.1")]
  15. [InlineData("127.0.0.1:123")]
  16. [InlineData("localhost")]
  17. [InlineData("localhost:1345")]
  18. [InlineData("fd23:184f:2029:0:3139:7386:67d7:d517")]
  19. [InlineData("fd23:184f:2029:0:3139:7386:67d7:d517/56")]
  20. [InlineData("[fd23:184f:2029:0:3139:7386:67d7:d517]:124")]
  21. [InlineData("fe80::7add:12ff:febb:c67b%16")]
  22. [InlineData("[fe80::7add:12ff:febb:c67b%16]:123")]
  23. [InlineData("fe80::7add:12ff:febb:c67b%16:123")]
  24. [InlineData("[fe80::7add:12ff:febb:c67b%16]")]
  25. [InlineData("192.168.1.2/255.255.255.0")]
  26. [InlineData("192.168.1.2/24")]
  27. public static void TryParse_ValidHostStrings_True(string address)
  28. => Assert.True(NetworkUtils.TryParseHost(address, out _, true, true));
  29. [Property]
  30. public static Property TryParse_IPv4Address_True(IPv4Address address)
  31. => NetworkUtils.TryParseHost(address.Item.ToString(), out _, true, true).ToProperty();
  32. [Property]
  33. public static Property TryParse_IPv6Address_True(IPv6Address address)
  34. => NetworkUtils.TryParseHost(address.Item.ToString(), out _, true, true).ToProperty();
  35. /// <summary>
  36. /// All should be invalid address strings.
  37. /// </summary>
  38. /// <param name="address">Invalid address strings.</param>
  39. [Theory]
  40. [InlineData("256.128.0.0.0.1")]
  41. [InlineData("127.0.0.1#")]
  42. [InlineData("localhost!")]
  43. [InlineData("fd23:184f:2029:0:3139:7386:67d7:d517:1231")]
  44. [InlineData("[fd23:184f:2029:0:3139:7386:67d7:d517:1231]")]
  45. public static void TryParse_InvalidAddressString_False(string address)
  46. => Assert.False(NetworkUtils.TryParseHost(address, out _, true, true));
  47. }
  48. }