IPHostTests.cs 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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 IPHostTests
  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("www.google.co.uk")]
  19. [InlineData("fd23:184f:2029:0:3139:7386:67d7:d517")]
  20. [InlineData("fd23:184f:2029:0:3139:7386:67d7:d517/56")]
  21. [InlineData("[fd23:184f:2029:0:3139:7386:67d7:d517]:124")]
  22. [InlineData("fe80::7add:12ff:febb:c67b%16")]
  23. [InlineData("[fe80::7add:12ff:febb:c67b%16]:123")]
  24. [InlineData("fe80::7add:12ff:febb:c67b%16:123")]
  25. [InlineData("[fe80::7add:12ff:febb:c67b%16]")]
  26. [InlineData("192.168.1.2/255.255.255.0")]
  27. [InlineData("192.168.1.2/24")]
  28. public static void TryParse_ValidHostStrings_True(string address)
  29. => Assert.True(IPHost.TryParse(address, out _));
  30. [Property]
  31. public static Property TryParse_IPv4Address_True(IPv4Address address)
  32. => IPHost.TryParse(address.Item.ToString(), out _).ToProperty();
  33. [Property]
  34. public static Property TryParse_IPv6Address_True(IPv6Address address)
  35. => IPHost.TryParse(address.Item.ToString(), out _).ToProperty();
  36. /// <summary>
  37. /// All should be invalid address strings.
  38. /// </summary>
  39. /// <param name="address">Invalid address strings.</param>
  40. [Theory]
  41. [InlineData("256.128.0.0.0.1")]
  42. [InlineData("127.0.0.1#")]
  43. [InlineData("localhost!")]
  44. [InlineData("fd23:184f:2029:0:3139:7386:67d7:d517:1231")]
  45. [InlineData("[fd23:184f:2029:0:3139:7386:67d7:d517:1231]")]
  46. public static void TryParse_InvalidAddressString_False(string address)
  47. => Assert.False(IPHost.TryParse(address, out _));
  48. }
  49. }