mirror of
https://github.com/oneclickvirt/basics.git
synced 2025-12-24 13:38:08 +08:00
update
This commit is contained in:
82
network/baseinfo/baseinfo_test.go
Normal file
82
network/baseinfo/baseinfo_test.go
Normal file
@@ -0,0 +1,82 @@
|
||||
package baseinfo
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
networkModel "github.com/oneclickvirt/basics/network/model"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
// printIPInfo 重构输出函数
|
||||
func printIPInfo(ipInfo *networkModel.IpInfo, securityInfo *networkModel.SecurityInfo, err error) {
|
||||
if err != nil {
|
||||
fmt.Println("获取 IP 信息时出错:", err)
|
||||
return
|
||||
}
|
||||
if ipInfo != nil {
|
||||
fmt.Println("IPInfo:")
|
||||
fmt.Println("IP:", ipInfo.Ip)
|
||||
fmt.Println("ASN:", ipInfo.ASN)
|
||||
fmt.Println("Org:", ipInfo.Org)
|
||||
fmt.Println("Country:", ipInfo.Country)
|
||||
fmt.Println("Region:", ipInfo.Region)
|
||||
fmt.Println("City:", ipInfo.City)
|
||||
fmt.Println("---------------------------------")
|
||||
}
|
||||
if securityInfo != nil {
|
||||
fmt.Println("Security Info:")
|
||||
fmt.Println("IsAbuser:", securityInfo.IsAbuser)
|
||||
fmt.Println("IsAttacker:", securityInfo.IsAttacker)
|
||||
fmt.Println("IsBogon:", securityInfo.IsBogon)
|
||||
fmt.Println("IsCloudProvider:", securityInfo.IsCloudProvider)
|
||||
fmt.Println("IsProxy:", securityInfo.IsProxy)
|
||||
fmt.Println("IsRelay:", securityInfo.IsRelay)
|
||||
fmt.Println("IsTor:", securityInfo.IsTor)
|
||||
fmt.Println("IsTorExit:", securityInfo.IsTorExit)
|
||||
fmt.Println("IsVpn:", securityInfo.IsVpn)
|
||||
fmt.Println("IsAnonymous:", securityInfo.IsAnonymous)
|
||||
fmt.Println("IsThreat:", securityInfo.IsThreat)
|
||||
fmt.Println("---------------------------------")
|
||||
}
|
||||
}
|
||||
|
||||
func TestIPInfo(t *testing.T) {
|
||||
// Test for IPv4
|
||||
fmt.Println("IPv4 Testing:")
|
||||
startV4 := time.Now()
|
||||
ipInfoV4Result, securityInfoV4Result, _, _, err := RunIpCheck("ipv4")
|
||||
elapsedV4 := time.Since(startV4)
|
||||
if err == nil {
|
||||
fmt.Println("IPv4:")
|
||||
fmt.Println("------")
|
||||
printIPInfo(ipInfoV4Result, securityInfoV4Result, nil)
|
||||
}
|
||||
fmt.Println("---***********************************---")
|
||||
// Test for IPv6
|
||||
fmt.Println("IPv6 Testing:")
|
||||
startV6 := time.Now()
|
||||
ipInfoV6Result, securityInfoV6Result, _, _, err := RunIpCheck("ipv6")
|
||||
elapsedV6 := time.Since(startV6)
|
||||
if err == nil {
|
||||
fmt.Println("IPv6:")
|
||||
fmt.Println("------")
|
||||
printIPInfo(ipInfoV6Result, securityInfoV6Result, nil)
|
||||
}
|
||||
fmt.Println("---***********************************---")
|
||||
// Test for both IPv4 and IPv6
|
||||
fmt.Println("Both Testing:")
|
||||
startBoth := time.Now()
|
||||
ipInfoV4Result, securityInfoV4Result, ipInfoV6Result, securityInfoV6Result, err = RunIpCheck("both")
|
||||
elapsedBoth := time.Since(startBoth)
|
||||
if err == nil {
|
||||
fmt.Println("IPv4:")
|
||||
fmt.Println("------")
|
||||
printIPInfo(ipInfoV4Result, securityInfoV4Result, nil)
|
||||
fmt.Println("IPv6:")
|
||||
fmt.Println("------")
|
||||
printIPInfo(ipInfoV6Result, securityInfoV6Result, nil)
|
||||
}
|
||||
fmt.Printf("IPv4 test took %s\n", elapsedV4)
|
||||
fmt.Printf("IPv6 test took %s\n", elapsedV6)
|
||||
fmt.Printf("Both test took %s\n", elapsedBoth)
|
||||
}
|
||||
Reference in New Issue
Block a user