实现IP黑白名单、国家|地区封禁、省份封禁

This commit is contained in:
刘祥超
2020-11-09 10:45:44 +08:00
parent 0a2b2d9fe9
commit 5682c9ba3e
34 changed files with 1354 additions and 8 deletions

View File

@@ -0,0 +1,73 @@
package iplibrary
import (
"github.com/iwind/TeaGo/assert"
"testing"
"time"
)
func TestIPItem_Contains(t *testing.T) {
a := assert.NewAssertion(t)
{
item := &IPItem{
IPFrom: IP2Long("192.168.1.100"),
IPTo: 0,
ExpiredAt: 0,
}
a.IsTrue(item.Contains(IP2Long("192.168.1.100")))
}
{
item := &IPItem{
IPFrom: IP2Long("192.168.1.100"),
IPTo: 0,
ExpiredAt: time.Now().Unix() + 1,
}
a.IsTrue(item.Contains(IP2Long("192.168.1.100")))
}
{
item := &IPItem{
IPFrom: IP2Long("192.168.1.100"),
IPTo: 0,
ExpiredAt: time.Now().Unix() - 1,
}
a.IsFalse(item.Contains(IP2Long("192.168.1.100")))
}
{
item := &IPItem{
IPFrom: IP2Long("192.168.1.100"),
IPTo: 0,
ExpiredAt: 0,
}
a.IsFalse(item.Contains(IP2Long("192.168.1.101")))
}
{
item := &IPItem{
IPFrom: IP2Long("192.168.1.1"),
IPTo: IP2Long("192.168.1.101"),
ExpiredAt: 0,
}
a.IsTrue(item.Contains(IP2Long("192.168.1.100")))
}
{
item := &IPItem{
IPFrom: IP2Long("192.168.1.1"),
IPTo: IP2Long("192.168.1.100"),
ExpiredAt: 0,
}
a.IsTrue(item.Contains(IP2Long("192.168.1.100")))
}
{
item := &IPItem{
IPFrom: IP2Long("192.168.1.1"),
IPTo: IP2Long("192.168.1.101"),
ExpiredAt: 0,
}
a.IsTrue(item.Contains(IP2Long("192.168.1.1")))
}
}