瀏覽代碼

split tests

BaronGreenback 4 年之前
父節點
當前提交
e5914fd28c
共有 1 個文件被更改,包括 22 次插入5 次删除
  1. 22 5
      tests/Jellyfin.Networking.Tests/NetworkParseTests.cs

+ 22 - 5
tests/Jellyfin.Networking.Tests/NetworkParseTests.cs

@@ -516,10 +516,9 @@ namespace Jellyfin.Networking.Tests
         }
 
         [Theory]
-        [InlineData("185.10.10.10,200.200.200.200", "79.2.3.4", false, true)] // whitelist
-        [InlineData("185.10.10.10", "185.10.10.10", false, false)] // whitelist
-        [InlineData("185.10.10.10", "79.2.3.4", true, false)] // blacklist
-        public void TestRemoteAccess(string addresses, string remoteIp, bool blacklist, bool denied)
+        [InlineData("185.10.10.10,200.200.200.200", "79.2.3.4", true)]
+        [InlineData("185.10.10.10", "185.10.10.10", false)]
+        public void HasRemoteAccess_GivenNonEmptyWhitelist_AllowsOnlyIpsInWhitelist(string addresses, string remoteIp, bool denied)
         {
             // Comma separated list of IP addresses or IP/netmask entries for networks that will be allowed to connect remotely.
             // If left blank, all remote addresses will be allowed.
@@ -527,7 +526,25 @@ namespace Jellyfin.Networking.Tests
             {
                 EnableIPV4 = true,
                 RemoteIPFilter = addresses.Split(","),
-                IsRemoteIPFilterBlacklist = blacklist
+                IsRemoteIPFilterBlacklist = false
+            };
+            using var nm = new NetworkManager(GetMockConfig(conf), new NullLogger<NetworkManager>());
+
+            Assert.NotEqual(nm.HasRemoteAccess(IPAddress.Parse(remoteIp)), denied);
+        }
+
+        [Theory]
+        [InlineData("185.10.10.10", "79.2.3.4", false)] // blacklist
+        [InlineData("185.10.10.10", "185.10.10.10", true)] // blacklist
+        public void HasRemoteAccess_GivenNonEmptBlacklist_BlacklistTheIps(string addresses, string remoteIp, bool denied)
+        {
+            // Comma separated list of IP addresses or IP/netmask entries for networks that will be allowed to connect remotely.
+            // If left blank, all remote addresses will be allowed.
+            var conf = new NetworkConfiguration()
+            {
+                EnableIPV4 = true,
+                RemoteIPFilter = addresses.Split(","),
+                IsRemoteIPFilterBlacklist = true
             };
 
             using var nm = new NetworkManager(GetMockConfig(conf), new NullLogger<NetworkManager>());