mirror of
https://github.com/TeaOSLab/EdgeCommon.git
synced 2025-11-03 12:20:27 +08:00
52 lines
1.2 KiB
Go
52 lines
1.2 KiB
Go
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
|
|
|
package iplibrary_test
|
|
|
|
import (
|
|
"encoding/json"
|
|
"github.com/TeaOSLab/EdgeCommon/pkg/iplibrary"
|
|
"github.com/iwind/TeaGo/maps"
|
|
"net"
|
|
"testing"
|
|
)
|
|
|
|
func TestNewFileReader(t *testing.T) {
|
|
reader, err := iplibrary.NewFileReader("./ip-20c1461c.db", "123456")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
for _, ip := range []string{
|
|
"127.0.0.1",
|
|
"192.168.0.1",
|
|
"192.168.0.150",
|
|
"8.8.8.8",
|
|
"111.197.165.199",
|
|
"175.178.206.125",
|
|
} {
|
|
var result = reader.Lookup(net.ParseIP(ip))
|
|
if result.IsOk() {
|
|
var data = maps.Map{
|
|
"countryId": result.CountryId(),
|
|
"countryName": result.CountryName(),
|
|
"provinceId": result.ProvinceId(),
|
|
"provinceName": result.ProvinceName(),
|
|
"cityId": result.CityId(),
|
|
"cityName": result.CityName(),
|
|
"townId": result.TownId(),
|
|
"townName": result.TownName(),
|
|
"providerId": result.ProviderId(),
|
|
"providerName": result.ProviderName(),
|
|
"summary": result.Summary(),
|
|
}
|
|
dataJSON, err := json.MarshalIndent(data, "", " ")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
t.Log(ip, "=>", string(dataJSON))
|
|
} else {
|
|
t.Log(ip+":", "not found")
|
|
}
|
|
}
|
|
}
|