bine/tests/tor_geoip_test.go

33 lines
1006 B
Go

package tests
import (
"testing"
"git.openprivacy.ca/openprivacy/bine/tor"
"git.openprivacy.ca/openprivacy/bine/torutil/geoipembed"
)
func TestEmbeddedGeoIPFile(t *testing.T) {
ctx := NewTestContext(t, &tor.StartConf{GeoIPFileReader: geoipembed.GeoIPReader})
defer ctx.Close()
// Check available and grab a couple of known IPs and check the country
// (taken from https://my.pingdom.com/probes/feed)
usIpv4, usIpv6 := "209.58.139.193", "2605:fe80:2100:a00f:4::4045"
kv, err := ctx.Control.GetInfo(
"ip-to-country/ipv4-available",
"ip-to-country/ipv6-available",
"ip-to-country/"+usIpv4,
"ip-to-country/"+usIpv6,
)
ctx.Require.NoError(err)
vals := map[string]string{}
for _, kv := range kv {
vals[kv.Key] = kv.Val
}
ctx.Require.Len(vals, 4)
ctx.Require.Equal("1", vals["ip-to-country/ipv4-available"])
ctx.Require.Equal("1", vals["ip-to-country/ipv6-available"])
ctx.Require.Equal("us", vals["ip-to-country/"+usIpv4])
ctx.Require.Equal("us", vals["ip-to-country/"+usIpv6])
}