mirror of
				https://github.com/TeaOSLab/EdgeNode.git
				synced 2025-11-04 16:00:25 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			66 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package utils_test
 | 
						|
 | 
						|
import (
 | 
						|
	"github.com/TeaOSLab/EdgeNode/internal/utils"
 | 
						|
	"github.com/iwind/TeaGo/assert"
 | 
						|
	"testing"
 | 
						|
)
 | 
						|
 | 
						|
func TestIP2Long(t *testing.T) {
 | 
						|
	t.Log(utils.IP2LongHash("0.0.0.0"))
 | 
						|
	t.Log(utils.IP2LongHash("1.0.0.0"))
 | 
						|
	t.Log(utils.IP2LongHash("0.0.0.0.0"))
 | 
						|
	t.Log(utils.IP2LongHash("2001:db8:0:1::101"))
 | 
						|
	t.Log(utils.IP2LongHash("2001:db8:0:1::102"))
 | 
						|
	t.Log(utils.IP2LongHash("::1"))
 | 
						|
}
 | 
						|
 | 
						|
func TestIsLocalIP(t *testing.T) {
 | 
						|
	var a = assert.NewAssertion(t)
 | 
						|
	a.IsFalse(utils.IsLocalIP("a"))
 | 
						|
	a.IsFalse(utils.IsLocalIP("1.2.3"))
 | 
						|
	a.IsTrue(utils.IsLocalIP("127.0.0.1"))
 | 
						|
	a.IsTrue(utils.IsLocalIP("192.168.0.1"))
 | 
						|
	a.IsTrue(utils.IsLocalIP("10.0.0.1"))
 | 
						|
	a.IsTrue(utils.IsLocalIP("172.16.0.1"))
 | 
						|
	a.IsTrue(utils.IsLocalIP("::1"))
 | 
						|
	a.IsFalse(utils.IsLocalIP("::1:2:3"))
 | 
						|
	a.IsFalse(utils.IsLocalIP("8.8.8.8"))
 | 
						|
}
 | 
						|
 | 
						|
func TestIsIPv4(t *testing.T) {
 | 
						|
	var a = assert.NewAssertion(t)
 | 
						|
	a.IsTrue(utils.IsIPv4("192.168.1.1"))
 | 
						|
	a.IsTrue(utils.IsIPv4("0.0.0.0"))
 | 
						|
	a.IsFalse(utils.IsIPv4("192.168.1.256"))
 | 
						|
	a.IsFalse(utils.IsIPv4("192.168.1"))
 | 
						|
	a.IsFalse(utils.IsIPv4("::1"))
 | 
						|
	a.IsFalse(utils.IsIPv4("2001:0db8:85a3:0000:0000:8a2e:0370:7334"))
 | 
						|
	a.IsFalse(utils.IsIPv4("::ffff:192.168.0.1"))
 | 
						|
}
 | 
						|
 | 
						|
func TestIsIPv6(t *testing.T) {
 | 
						|
	var a = assert.NewAssertion(t)
 | 
						|
	a.IsFalse(utils.IsIPv6("192.168.1.1"))
 | 
						|
	a.IsFalse(utils.IsIPv6("0.0.0.0"))
 | 
						|
	a.IsFalse(utils.IsIPv6("192.168.1.256"))
 | 
						|
	a.IsFalse(utils.IsIPv6("192.168.1"))
 | 
						|
	a.IsTrue(utils.IsIPv6("::1"))
 | 
						|
	a.IsTrue(utils.IsIPv6("2001:0db8:85a3:0000:0000:8a2e:0370:7334"))
 | 
						|
	a.IsFalse(utils.IsIPv4("::ffff:192.168.0.1"))
 | 
						|
	a.IsTrue(utils.IsIPv6("::ffff:192.168.0.1"))
 | 
						|
}
 | 
						|
 | 
						|
func TestIsWildIP(t *testing.T) {
 | 
						|
	var a = assert.NewAssertion(t)
 | 
						|
	a.IsTrue(utils.IsWildIP("192.168.1.100"))
 | 
						|
	a.IsTrue(utils.IsWildIP("::1"))
 | 
						|
	a.IsTrue(utils.IsWildIP("2001:0db8:85a3:0000:0000:8a2e:0370:7334"))
 | 
						|
	a.IsTrue(utils.IsWildIP("[2001:0db8:85a3:0000:0000:8a2e:0370:7334]"))
 | 
						|
	a.IsFalse(utils.IsWildIP(""))
 | 
						|
	a.IsFalse(utils.IsWildIP("[]"))
 | 
						|
	a.IsFalse(utils.IsWildIP("[1]"))
 | 
						|
	a.IsFalse(utils.IsWildIP("192.168.2.256"))
 | 
						|
	a.IsFalse(utils.IsWildIP("192.168.2"))
 | 
						|
}
 |