mirror of
https://github.com/apernet/OpenGFW.git
synced 2024-12-24 01:49:22 +08:00
55 lines
1.3 KiB
Go
55 lines
1.3 KiB
Go
|
package v2geo
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
|
||
|
"github.com/stretchr/testify/assert"
|
||
|
)
|
||
|
|
||
|
func TestLoadGeoIP(t *testing.T) {
|
||
|
m, err := LoadGeoIP("geoip.dat")
|
||
|
assert.NoError(t, err)
|
||
|
|
||
|
// Exact checks since we know the data.
|
||
|
assert.Len(t, m, 252)
|
||
|
assert.Equal(t, m["cn"].CountryCode, "CN")
|
||
|
assert.Len(t, m["cn"].Cidr, 10407)
|
||
|
assert.Equal(t, m["us"].CountryCode, "US")
|
||
|
assert.Len(t, m["us"].Cidr, 193171)
|
||
|
assert.Equal(t, m["private"].CountryCode, "PRIVATE")
|
||
|
assert.Len(t, m["private"].Cidr, 18)
|
||
|
assert.Contains(t, m["private"].Cidr, &CIDR{
|
||
|
Ip: []byte("\xc0\xa8\x00\x00"),
|
||
|
Prefix: 16,
|
||
|
})
|
||
|
}
|
||
|
|
||
|
func TestLoadGeoSite(t *testing.T) {
|
||
|
m, err := LoadGeoSite("geosite.dat")
|
||
|
assert.NoError(t, err)
|
||
|
|
||
|
// Exact checks since we know the data.
|
||
|
assert.Len(t, m, 1204)
|
||
|
assert.Equal(t, m["netflix"].CountryCode, "NETFLIX")
|
||
|
assert.Len(t, m["netflix"].Domain, 25)
|
||
|
assert.Contains(t, m["netflix"].Domain, &Domain{
|
||
|
Type: Domain_Full,
|
||
|
Value: "netflix.com.edgesuite.net",
|
||
|
})
|
||
|
assert.Contains(t, m["netflix"].Domain, &Domain{
|
||
|
Type: Domain_RootDomain,
|
||
|
Value: "fast.com",
|
||
|
})
|
||
|
assert.Len(t, m["google"].Domain, 1066)
|
||
|
assert.Contains(t, m["google"].Domain, &Domain{
|
||
|
Type: Domain_RootDomain,
|
||
|
Value: "ggpht.cn",
|
||
|
Attribute: []*Domain_Attribute{
|
||
|
{
|
||
|
Key: "cn",
|
||
|
TypedValue: &Domain_Attribute_BoolValue{BoolValue: true},
|
||
|
},
|
||
|
},
|
||
|
})
|
||
|
}
|