Browse Source

test case for field rule

v2ray 9 năm trước cách đây
mục cha
commit
fafc813f0e
1 tập tin đã thay đổi với 24 bổ sung1 xóa
  1. 24 1
      app/router/rules/router_config_test.go

+ 24 - 1
app/router/rules/router_config_test.go

@@ -11,7 +11,7 @@ import (
 	"github.com/v2ray/v2ray-core/testing/assert"
 )
 
-func TestFieldRule(t *testing.T) {
+func TestDomainRule(t *testing.T) {
 	v2testing.Current(t)
 
 	rule := ParseRule([]byte(`{
@@ -20,8 +20,31 @@ func TestFieldRule(t *testing.T) {
       "ooxx.com",
       "oxox.com"
     ],
+    "network": "tcp",
     "outboundTag": "direct"
   }`))
 	assert.Pointer(rule).IsNotNil()
 	assert.Bool(rule.Apply(v2net.TCPDestination(v2net.DomainAddress("www.ooxx.com"), 80))).IsTrue()
+	assert.Bool(rule.Apply(v2net.TCPDestination(v2net.DomainAddress("www.aabb.com"), 80))).IsFalse()
+	assert.Bool(rule.Apply(v2net.TCPDestination(v2net.IPAddress([]byte{127, 0, 0, 1}), 80))).IsFalse()
+
+}
+
+func TestIPRule(t *testing.T) {
+	v2testing.Current(t)
+
+	rule := ParseRule([]byte(`{
+    "type": "field",
+    "ip": [
+      "10.0.0.0/8",
+      "192.0.0.0/24"
+    ],
+    "network": "tcp",
+    "outboundTag": "direct"
+  }`))
+	assert.Pointer(rule).IsNotNil()
+	assert.Bool(rule.Apply(v2net.TCPDestination(v2net.DomainAddress("www.ooxx.com"), 80))).IsFalse()
+	assert.Bool(rule.Apply(v2net.TCPDestination(v2net.IPAddress([]byte{10, 0, 0, 1}), 80))).IsTrue()
+	assert.Bool(rule.Apply(v2net.TCPDestination(v2net.IPAddress([]byte{127, 0, 0, 1}), 80))).IsFalse()
+	assert.Bool(rule.Apply(v2net.TCPDestination(v2net.IPAddress([]byte{192, 0, 0, 1}), 80))).IsTrue()
 }