Skip to content

Commit 98c4e56

Browse files
update tests to handle current version MMDB files and use of submodule (#7)
1 parent 20d12fe commit 98c4e56

File tree

5 files changed

+52
-29
lines changed

5 files changed

+52
-29
lines changed

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "testdata/maxmind"]
2+
path = testdata/maxmind
3+
url = https://github.com/maxmind/MaxMind-DB

README.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,23 @@ connection_type_parallel-24 34284831 32.1 ns/op 32 B/op 2 allocs/o
8989
### Domain
9090
- GeoIP2-Domain
9191

92+
## MMDB files for tests
93+
94+
MMDB files for tests are organised in their respective directories based on the source within the `testdata` repository root directory.
95+
96+
### MaxMind
97+
98+
These are obtained using a submodule into a `testdata/maxmind` directory.
99+
100+
```
101+
git submodule init
102+
git submodule update
103+
```
104+
105+
### DB-IP
106+
107+
You must obtain these files manually and place them into the `testdata/dbip` directory.
108+
92109
## License
93110

94111
[MIT License](LICENSE).

geoip2_test.go

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@ import (
66
)
77

88
func TestReader(t *testing.T) {
9-
ip := net.ParseIP("81.2.69.142")
9+
ip := net.ParseIP("81.2.69.160")
1010

11-
countryReader, err := NewCountryReaderFromFile("testdata/GeoIP2-Country.mmdb")
11+
countryReader, err := NewCountryReaderFromFile("testdata/maxmind/test-data/GeoIP2-Country-Test.mmdb")
1212
if err != nil {
1313
t.Fatal(err)
1414
}
1515
_, err = countryReader.Lookup(ip)
1616
if err != nil {
1717
t.Fatal(err)
1818
}
19-
countryLiteReader, err := NewCountryReaderFromFile("testdata/GeoLite2-Country.mmdb")
19+
countryLiteReader, err := NewCountryReaderFromFile("testdata/maxmind/test-data/GeoLite2-Country-Test.mmdb")
2020
if err != nil {
2121
t.Fatal(err)
2222
}
@@ -25,15 +25,15 @@ func TestReader(t *testing.T) {
2525
t.Fatal(err)
2626
}
2727

28-
cityReader, err := NewCityReaderFromFile("testdata/GeoIP2-City.mmdb")
28+
cityReader, err := NewCityReaderFromFile("testdata/maxmind/test-data/GeoIP2-City-Test.mmdb")
2929
if err != nil {
3030
t.Fatal(err)
3131
}
3232
_, err = cityReader.Lookup(ip)
3333
if err != nil {
3434
t.Fatal(err)
3535
}
36-
cityLiteReader, err := NewCityReaderFromFile("testdata/GeoLite2-City.mmdb")
36+
cityLiteReader, err := NewCityReaderFromFile("testdata/maxmind/test-data/GeoLite2-City-Test.mmdb")
3737
if err != nil {
3838
t.Fatal(err)
3939
}
@@ -42,7 +42,7 @@ func TestReader(t *testing.T) {
4242
t.Fatal(err)
4343
}
4444

45-
ispReader, err := NewISPReaderFromFile("testdata/GeoIP2-ISP.mmdb")
45+
ispReader, err := NewISPReaderFromFile("testdata/maxmind/test-data/GeoIP2-ISP-Test.mmdb")
4646
if err != nil {
4747
t.Fatal(err)
4848
}
@@ -51,7 +51,8 @@ func TestReader(t *testing.T) {
5151
t.Fatal(err)
5252
}
5353

54-
connectionTypeReader, err := NewConnectionTypeReaderFromFile("testdata/GeoIP2-Connection-Type.mmdb")
54+
ip = net.ParseIP("2.125.160.216")
55+
connectionTypeReader, err := NewConnectionTypeReaderFromFile("testdata/maxmind/test-data/GeoIP2-Connection-Type-Test.mmdb")
5556
if err != nil {
5657
t.Fatal(err)
5758
}
@@ -60,7 +61,8 @@ func TestReader(t *testing.T) {
6061
t.Fatal(err)
6162
}
6263

63-
asnReader, err := NewASNReaderFromFile("testdata/GeoLite2-ASN.mmdb")
64+
ip = net.ParseIP("81.128.69.160")
65+
asnReader, err := NewASNReaderFromFile("testdata/maxmind/test-data/GeoLite2-ASN-Test.mmdb")
6466
if err != nil {
6567
t.Fatal(err)
6668
}
@@ -75,7 +77,7 @@ func BenchmarkGeoIP2(b *testing.B) {
7577
b.ReportAllocs()
7678

7779
b.Run("country", func(b *testing.B) {
78-
reader, err := NewCountryReaderFromFile("testdata/GeoIP2-Country.mmdb")
80+
reader, err := NewCountryReaderFromFile("testdata/maxmind/test-data/GeoIP2-Country-Test.mmdb")
7981
if err != nil {
8082
b.Fatal(err)
8183
}
@@ -94,7 +96,7 @@ func BenchmarkGeoIP2(b *testing.B) {
9496
})
9597

9698
b.Run("city", func(b *testing.B) {
97-
reader, err := NewCityReaderFromFile("testdata/GeoIP2-City.mmdb")
99+
reader, err := NewCityReaderFromFile("testdata/maxmind/test-data/GeoIP2-City-Test.mmdb")
98100
if err != nil {
99101
b.Fatal(err)
100102
}
@@ -113,7 +115,7 @@ func BenchmarkGeoIP2(b *testing.B) {
113115
})
114116

115117
b.Run("isp", func(b *testing.B) {
116-
reader, err := NewISPReaderFromFile("testdata/GeoIP2-ISP.mmdb")
118+
reader, err := NewISPReaderFromFile("testdata/maxmind/test-data/GeoIP2-ISP-Test.mmdb")
117119
if err != nil {
118120
b.Fatal(err)
119121
}
@@ -132,7 +134,7 @@ func BenchmarkGeoIP2(b *testing.B) {
132134
})
133135

134136
b.Run("connection_type", func(b *testing.B) {
135-
reader, err := NewConnectionTypeReaderFromFile("testdata/GeoIP2-Connection-Type.mmdb")
137+
reader, err := NewConnectionTypeReaderFromFile("testdata/maxmind/test-data/GeoIP2-Connection-Type-Test.mmdb")
136138
if err != nil {
137139
b.Fatal(err)
138140
}
@@ -151,7 +153,7 @@ func BenchmarkGeoIP2(b *testing.B) {
151153
})
152154

153155
b.Run("asn", func(b *testing.B) {
154-
reader, err := NewASNReaderFromFile("testdata/GeoLite2-ASN.mmdb")
156+
reader, err := NewASNReaderFromFile("testdata/maxmind/test-data/GeoLite2-ASN-Test.mmdb")
155157
if err != nil {
156158
b.Fatal(err)
157159
}

reader_test.go

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99
)
1010

1111
func TestAnonymousIP(t *testing.T) {
12-
reader, err := NewAnonymousIPReaderFromFile("testdata/GeoIP2-Anonymous-IP-Test.mmdb")
12+
reader, err := NewAnonymousIPReaderFromFile("testdata/maxmind/test-data/GeoIP2-Anonymous-IP-Test.mmdb")
1313
if err != nil {
1414
t.Fatal(err)
1515
}
@@ -63,7 +63,7 @@ func TestReaderZeroLength(t *testing.T) {
6363
}
6464

6565
func TestCity(t *testing.T) {
66-
reader, err := NewCityReaderFromFile("testdata/GeoIP2-City-Test.mmdb")
66+
reader, err := NewCityReaderFromFile("testdata/maxmind/test-data/GeoIP2-City-Test.mmdb")
6767
if err != nil {
6868
t.Fatal(err)
6969
}
@@ -133,7 +133,7 @@ func TestCity(t *testing.T) {
133133
}
134134

135135
func TestConnectionType(t *testing.T) {
136-
reader, err := NewConnectionTypeReaderFromFile("testdata/GeoIP2-Connection-Type-Test.mmdb")
136+
reader, err := NewConnectionTypeReaderFromFile("testdata/maxmind/test-data/GeoIP2-Connection-Type-Test.mmdb")
137137
if err != nil {
138138
t.Fatal(err)
139139
}
@@ -142,21 +142,21 @@ func TestConnectionType(t *testing.T) {
142142
if err != nil {
143143
t.Fatal(err)
144144
}
145-
if record != "Dialup" {
145+
if record != "Cable/DSL" {
146146
t.Fatal()
147147
}
148148

149149
record, err = reader.Lookup(net.ParseIP("1.0.1.0"))
150150
if err != nil {
151151
t.Fatal(err)
152152
}
153-
if record != "Cable/DSL" {
153+
if record != "Cellular" {
154154
t.Fatal()
155155
}
156156
}
157157

158158
func TestCountry(t *testing.T) {
159-
reader, err := NewCountryReaderFromFile("testdata/GeoIP2-Country-Test.mmdb")
159+
reader, err := NewCountryReaderFromFile("testdata/maxmind/test-data/GeoIP2-Country-Test.mmdb")
160160
if err != nil {
161161
t.Fatal(err)
162162
}
@@ -240,7 +240,7 @@ func TestCountry(t *testing.T) {
240240
}
241241

242242
func TestDomain(t *testing.T) {
243-
reader, err := NewDomainReaderFromFile("testdata/GeoIP2-Domain-Test.mmdb")
243+
reader, err := NewDomainReaderFromFile("testdata/maxmind/test-data/GeoIP2-Domain-Test.mmdb")
244244
if err != nil {
245245
t.Fatal(err)
246246
}
@@ -263,7 +263,7 @@ func TestDomain(t *testing.T) {
263263
}
264264

265265
func TestEnterprise(t *testing.T) {
266-
reader, err := NewEnterpriseReaderFromFile("testdata/GeoIP2-Enterprise-Test.mmdb")
266+
reader, err := NewEnterpriseReaderFromFile("testdata/maxmind/test-data/GeoIP2-Enterprise-Test.mmdb")
267267
if err != nil {
268268
t.Fatal(err)
269269
}
@@ -340,7 +340,7 @@ func TestEnterprise(t *testing.T) {
340340
}
341341

342342
func TestISP(t *testing.T) {
343-
reader, err := NewISPReaderFromFile("testdata/GeoIP2-ISP-Test.mmdb")
343+
reader, err := NewISPReaderFromFile("testdata/maxmind/test-data/GeoIP2-ISP-Test.mmdb")
344344
if err != nil {
345345
t.Fatal(err)
346346
}
@@ -381,7 +381,7 @@ func TestISP(t *testing.T) {
381381
}
382382

383383
func TestASN(t *testing.T) {
384-
reader, err := NewASNReaderFromFile("testdata/GeoLite2-ASN-Test.mmdb")
384+
reader, err := NewASNReaderFromFile("testdata/maxmind/test-data/GeoLite2-ASN-Test.mmdb")
385385
if err != nil {
386386
t.Fatal(err)
387387
}
@@ -410,7 +410,7 @@ func TestASN(t *testing.T) {
410410
}
411411

412412
func TestDBIPCity(t *testing.T) {
413-
reader, err := NewCityReaderFromFile("testdata/dbip-city-lite.mmdb")
413+
reader, err := NewCityReaderFromFile("testdata/dbip/dbip-city-lite.mmdb")
414414
if err != nil {
415415
t.Fatal(err)
416416
}
@@ -421,13 +421,13 @@ func TestDBIPCity(t *testing.T) {
421421
if record.City.GeoNameID != 0 {
422422
t.Fatal()
423423
}
424-
if record.City.Names["en"] != "Boston" {
424+
if record.City.Names["en"] != "Medfield" {
425425
t.Fatal()
426426
}
427-
if record.Location.Latitude != 42.3601 {
427+
if record.Location.Latitude != 42.1876 {
428428
t.Fatal()
429429
}
430-
if record.Location.Longitude != -71.0589 {
430+
if record.Location.Longitude != -71.3065 {
431431
t.Fatal()
432432
}
433433
if len(record.Subdivisions) != 1 {
@@ -439,7 +439,7 @@ func TestDBIPCity(t *testing.T) {
439439
}
440440

441441
func TestDBIPCountry(t *testing.T) {
442-
reader, err := NewCountryReaderFromFile("testdata/dbip-country-lite.mmdb")
442+
reader, err := NewCountryReaderFromFile("testdata/dbip/dbip-country-lite.mmdb")
443443
if err != nil {
444444
t.Fatal(err)
445445
}
@@ -473,7 +473,7 @@ func TestDBIPCountry(t *testing.T) {
473473
}
474474

475475
func TestDBIPASN(t *testing.T) {
476-
reader, err := NewASNReaderFromFile("testdata/dbip-asn-lite.mmdb")
476+
reader, err := NewASNReaderFromFile("testdata/dbip/dbip-asn-lite.mmdb")
477477
if err != nil {
478478
t.Fatal(err)
479479
}

testdata/maxmind

Submodule maxmind added at fb053bc

0 commit comments

Comments
 (0)