@@ -19,7 +19,7 @@ func TestReader(t *testing.T) {
19
19
for _ , ipVersion := range []uint {4 , 6 } {
20
20
fileName := fmt .Sprintf ("test-data/test-data/MaxMind-DB-test-ipv%d-%d.mmdb" , ipVersion , recordSize )
21
21
reader , err := Open (fileName )
22
- require .Nil (t , err , "unexpected error while opening database: %v" , err )
22
+ require .NoError (t , err , "unexpected error while opening database: %v" , err )
23
23
checkMetadata (t , reader , ipVersion , recordSize )
24
24
25
25
if ipVersion == 4 {
@@ -37,7 +37,7 @@ func TestReaderBytes(t *testing.T) {
37
37
fileName := fmt .Sprintf ("test-data/test-data/MaxMind-DB-test-ipv%d-%d.mmdb" , ipVersion , recordSize )
38
38
bytes , _ := ioutil .ReadFile (fileName )
39
39
reader , err := FromBytes (bytes )
40
- require .Nil (t , err , "unexpected error while opening bytes: %v" , err )
40
+ require .NoError (t , err , "unexpected error while opening bytes: %v" , err )
41
41
42
42
checkMetadata (t , reader , ipVersion , recordSize )
43
43
@@ -52,11 +52,11 @@ func TestReaderBytes(t *testing.T) {
52
52
53
53
func TestDecodingToInterface (t * testing.T ) {
54
54
reader , err := Open ("test-data/test-data/MaxMind-DB-test-decoder.mmdb" )
55
- assert . Nil (t , err , "unexpected error while opening database: %v" , err )
55
+ require . NoError (t , err , "unexpected error while opening database: %v" , err )
56
56
57
57
var recordInterface interface {}
58
58
err = reader .Lookup (net .ParseIP ("::1.1.1.0" ), & recordInterface )
59
- require .Nil (t , err , "unexpected error while doing lookup: %v" , err )
59
+ require .NoError (t , err , "unexpected error while doing lookup: %v" , err )
60
60
61
61
record := recordInterface .(map [string ]interface {})
62
62
assert .Equal (t , record ["array" ], []interface {}{uint64 (1 ), uint64 (2 ), uint64 (3 )})
@@ -99,7 +99,7 @@ type TestType struct {
99
99
100
100
func TestDecoder (t * testing.T ) {
101
101
reader , err := Open ("test-data/test-data/MaxMind-DB-test-decoder.mmdb" )
102
- require .Nil (t , err )
102
+ require .NoError (t , err )
103
103
104
104
verify := func (result TestType ) {
105
105
assert .Equal (t , result .Array , []uint {uint (1 ), uint (2 ), uint (3 )})
@@ -128,21 +128,21 @@ func TestDecoder(t *testing.T) {
128
128
{
129
129
// Directly lookup and decode.
130
130
var result TestType
131
- assert . Nil (t , reader .Lookup (net .ParseIP ("::1.1.1.0" ), & result ))
131
+ require . NoError (t , reader .Lookup (net .ParseIP ("::1.1.1.0" ), & result ))
132
132
verify (result )
133
133
}
134
134
{
135
135
// Lookup record offset, then Decode.
136
136
var result TestType
137
137
offset , err := reader .LookupOffset (net .ParseIP ("::1.1.1.0" ))
138
- assert . Nil (t , err )
138
+ require . NoError (t , err )
139
139
assert .NotEqual (t , offset , NotFound )
140
140
141
- assert .Nil (t , reader .Decode (offset , & result ))
141
+ assert .NoError (t , reader .Decode (offset , & result ))
142
142
verify (result )
143
143
}
144
144
145
- assert .Nil (t , reader .Close ())
145
+ assert .NoError (t , reader .Close ())
146
146
}
147
147
148
148
type TestInterface interface {
@@ -157,9 +157,9 @@ func TestStructInterface(t *testing.T) {
157
157
var result TestInterface = & TestType {}
158
158
159
159
reader , err := Open ("test-data/test-data/MaxMind-DB-test-decoder.mmdb" )
160
- require .Nil (t , err )
160
+ require .NoError (t , err )
161
161
162
- require .Nil (t , reader .Lookup (net .ParseIP ("::1.1.1.0" ), & result ))
162
+ require .NoError (t , reader .Lookup (net .ParseIP ("::1.1.1.0" ), & result ))
163
163
164
164
assert .Equal (t , result .method (), true )
165
165
}
@@ -168,7 +168,7 @@ func TestNonEmptyNilInterface(t *testing.T) {
168
168
var result TestInterface
169
169
170
170
reader , err := Open ("test-data/test-data/MaxMind-DB-test-decoder.mmdb" )
171
- require .Nil (t , err )
171
+ require .NoError (t , err )
172
172
173
173
err = reader .Lookup (net .ParseIP ("::1.1.1.0" ), & result )
174
174
assert .Equal (t , err .Error (), "maxminddb: cannot unmarshal map into type maxminddb.TestInterface" )
@@ -187,9 +187,9 @@ func TestEmbeddedStructAsInterface(t *testing.T) {
187
187
var result interface {} = city .Traits
188
188
189
189
db , err := Open ("test-data/test-data/GeoIP2-ISP-Test.mmdb" )
190
- require .Nil (t , err )
190
+ require .NoError (t , err )
191
191
192
- assert .Nil (t , db .Lookup (net .ParseIP ("1.128.0.0" ), & result ))
192
+ assert .NoError (t , db .Lookup (net .ParseIP ("1.128.0.0" ), & result ))
193
193
}
194
194
195
195
type BoolInterface interface {
@@ -211,8 +211,8 @@ func TesValueTypeInterface(t *testing.T) {
211
211
result .Boolean = Bool (false )
212
212
213
213
reader , err := Open ("test-data/test-data/MaxMind-DB-test-decoder.mmdb" )
214
- require .Nil (t , err )
215
- require .Nil (t , reader .Lookup (net .ParseIP ("::1.1.1.0" ), & result ))
214
+ require .NoError (t , err )
215
+ require .NoError (t , reader .Lookup (net .ParseIP ("::1.1.1.0" ), & result ))
216
216
217
217
assert .Equal (t , result .Boolean .true (), true )
218
218
}
@@ -252,12 +252,12 @@ type TestPointerType struct {
252
252
253
253
func TestComplexStructWithNestingAndPointer (t * testing.T ) {
254
254
reader , err := Open ("test-data/test-data/MaxMind-DB-test-decoder.mmdb" )
255
- assert .Nil (t , err )
255
+ assert .NoError (t , err )
256
256
257
257
var result TestPointerType
258
258
259
259
err = reader .Lookup (net .ParseIP ("::1.1.1.0" ), & result )
260
- require .Nil (t , err )
260
+ require .NoError (t , err )
261
261
262
262
assert .Equal (t , * result .Array , []uint {uint (1 ), uint (2 ), uint (3 )})
263
263
assert .Equal (t , * result .Boolean , true )
@@ -278,16 +278,16 @@ func TestComplexStructWithNestingAndPointer(t *testing.T) {
278
278
bigInt .SetString ("1329227995784915872903807060280344576" , 10 )
279
279
assert .Equal (t , result .Uint128 , bigInt )
280
280
281
- assert .Nil (t , reader .Close ())
281
+ assert .NoError (t , reader .Close ())
282
282
}
283
283
284
284
func TestNestedOffsetDecode (t * testing.T ) {
285
285
db , err := Open ("test-data/test-data/GeoIP2-City-Test.mmdb" )
286
- require .Nil (t , err )
286
+ require .NoError (t , err )
287
287
288
288
off , err := db .LookupOffset (net .ParseIP ("81.2.69.142" ))
289
289
assert .NotEqual (t , off , NotFound )
290
- require .Nil (t , err )
290
+ require .NoError (t , err )
291
291
292
292
var root struct {
293
293
CountryOffset uintptr `maxminddb:"country"`
@@ -300,42 +300,42 @@ func TestNestedOffsetDecode(t *testing.T) {
300
300
TimeZoneOffset uintptr `maxminddb:"time_zone"`
301
301
} `maxminddb:"location"`
302
302
}
303
- assert .Nil (t , db .Decode (off , & root ))
303
+ assert .NoError (t , db .Decode (off , & root ))
304
304
assert .Equal (t , root .Location .Latitude , 51.5142 )
305
305
306
306
var longitude float64
307
- assert .Nil (t , db .Decode (root .Location .LongitudeOffset , & longitude ))
307
+ assert .NoError (t , db .Decode (root .Location .LongitudeOffset , & longitude ))
308
308
assert .Equal (t , longitude , - 0.0931 )
309
309
310
310
var timeZone string
311
- assert .Nil (t , db .Decode (root .Location .TimeZoneOffset , & timeZone ))
311
+ assert .NoError (t , db .Decode (root .Location .TimeZoneOffset , & timeZone ))
312
312
assert .Equal (t , timeZone , "Europe/London" )
313
313
314
314
var country struct {
315
315
IsoCode string `maxminddb:"iso_code"`
316
316
}
317
- assert .Nil (t , db .Decode (root .CountryOffset , & country ))
317
+ assert .NoError (t , db .Decode (root .CountryOffset , & country ))
318
318
assert .Equal (t , country .IsoCode , "GB" )
319
319
320
- assert .Nil (t , db .Close ())
320
+ assert .NoError (t , db .Close ())
321
321
}
322
322
323
323
func TestDecodingUint16IntoInt (t * testing.T ) {
324
324
reader , err := Open ("test-data/test-data/MaxMind-DB-test-decoder.mmdb" )
325
- require .Nil (t , err , "unexpected error while opening database: %v" , err )
325
+ require .NoError (t , err , "unexpected error while opening database: %v" , err )
326
326
327
327
var result struct {
328
328
Uint16 int `maxminddb:"uint16"`
329
329
}
330
330
err = reader .Lookup (net .ParseIP ("::1.1.1.0" ), & result )
331
- require .Nil (t , err )
331
+ require .NoError (t , err )
332
332
333
333
assert .Equal (t , result .Uint16 , 100 )
334
334
}
335
335
336
336
func TestIpv6inIpv4 (t * testing.T ) {
337
337
reader , err := Open ("test-data/test-data/MaxMind-DB-test-ipv4-24.mmdb" )
338
- require .Nil (t , err , "unexpected error while opening database: %v" , err )
338
+ require .NoError (t , err , "unexpected error while opening database: %v" , err )
339
339
340
340
var result TestType
341
341
err = reader .Lookup (net .ParseIP ("2001::" ), & result )
@@ -345,19 +345,19 @@ func TestIpv6inIpv4(t *testing.T) {
345
345
346
346
expected := errors .New ("error looking up '2001::': you attempted to look up an IPv6 address in an IPv4-only database" )
347
347
assert .Equal (t , err , expected )
348
- assert .Nil (t , reader .Close (), "error on close" )
348
+ assert .NoError (t , reader .Close (), "error on close" )
349
349
}
350
350
351
351
func TestBrokenDoubleDatabase (t * testing.T ) {
352
352
reader , err := Open ("test-data/test-data/GeoIP2-City-Test-Broken-Double-Format.mmdb" )
353
- require .Nil (t , err , "unexpected error while opening database: %v" , err )
353
+ require .NoError (t , err , "unexpected error while opening database: %v" , err )
354
354
355
355
var result interface {}
356
356
err = reader .Lookup (net .ParseIP ("2001:220::" ), & result )
357
357
358
358
expected := newInvalidDatabaseError ("the MaxMind DB file's data section contains bad data (float 64 size of 2)" )
359
359
assert .Equal (t , err , expected )
360
- assert .Nil (t , reader .Close (), "error on close" )
360
+ assert .NoError (t , reader .Close (), "error on close" )
361
361
}
362
362
363
363
func TestInvalidNodeCountDatabase (t * testing.T ) {
@@ -385,7 +385,7 @@ func TestDecodingToNonPointer(t *testing.T) {
385
385
var recordInterface interface {}
386
386
err := reader .Lookup (net .ParseIP ("::1.1.1.0" ), recordInterface )
387
387
assert .Equal (t , err .Error (), "result param must be a pointer" )
388
- assert .Nil (t , reader .Close (), "error on close" )
388
+ assert .NoError (t , reader .Close (), "error on close" )
389
389
}
390
390
391
391
func TestNilLookup (t * testing.T ) {
@@ -394,7 +394,7 @@ func TestNilLookup(t *testing.T) {
394
394
var recordInterface interface {}
395
395
err := reader .Lookup (nil , recordInterface )
396
396
assert .Equal (t , err .Error (), "ipAddress passed to Lookup cannot be nil" )
397
- assert .Nil (t , reader .Close (), "error on close" )
397
+ assert .NoError (t , reader .Close (), "error on close" )
398
398
}
399
399
400
400
func TestUsingClosedDatabase (t * testing.T ) {
@@ -447,7 +447,7 @@ func checkIpv4(t *testing.T, reader *Reader) {
447
447
448
448
var result map [string ]string
449
449
err := reader .Lookup (ip , & result )
450
- assert .Nil (t , err , "unexpected error while doing lookup: %v" , err )
450
+ assert .NoError (t , err , "unexpected error while doing lookup: %v" , err )
451
451
assert .Equal (t , result , map [string ]string {"ip" : address })
452
452
}
453
453
pairs := map [string ]string {
@@ -467,7 +467,7 @@ func checkIpv4(t *testing.T, reader *Reader) {
467
467
468
468
var result map [string ]string
469
469
err := reader .Lookup (ip , & result )
470
- assert .Nil (t , err , "unexpected error while doing lookup: %v" , err )
470
+ assert .NoError (t , err , "unexpected error while doing lookup: %v" , err )
471
471
assert .Equal (t , result , data )
472
472
}
473
473
@@ -476,7 +476,7 @@ func checkIpv4(t *testing.T, reader *Reader) {
476
476
477
477
var result map [string ]string
478
478
err := reader .Lookup (ip , & result )
479
- assert .Nil (t , err , "unexpected error while doing lookup: %v" , err )
479
+ assert .NoError (t , err , "unexpected error while doing lookup: %v" , err )
480
480
assert .Nil (t , result )
481
481
}
482
482
}
@@ -489,7 +489,7 @@ func checkIpv6(t *testing.T, reader *Reader) {
489
489
for _ , address := range subnets {
490
490
var result map [string ]string
491
491
err := reader .Lookup (net .ParseIP (address ), & result )
492
- assert .Nil (t , err , "unexpected error while doing lookup: %v" , err )
492
+ assert .NoError (t , err , "unexpected error while doing lookup: %v" , err )
493
493
assert .Equal (t , result , map [string ]string {"ip" : address })
494
494
}
495
495
@@ -508,21 +508,21 @@ func checkIpv6(t *testing.T, reader *Reader) {
508
508
data := map [string ]string {"ip" : valueAddress }
509
509
var result map [string ]string
510
510
err := reader .Lookup (net .ParseIP (keyAddress ), & result )
511
- assert .Nil (t , err , "unexpected error while doing lookup: %v" , err )
511
+ assert .NoError (t , err , "unexpected error while doing lookup: %v" , err )
512
512
assert .Equal (t , result , data )
513
513
}
514
514
515
515
for _ , address := range []string {"1.1.1.33" , "255.254.253.123" , "89fa::" } {
516
516
var result map [string ]string
517
517
err := reader .Lookup (net .ParseIP (address ), & result )
518
- assert .Nil (t , err , "unexpected error while doing lookup: %v" , err )
518
+ assert .NoError (t , err , "unexpected error while doing lookup: %v" , err )
519
519
assert .Nil (t , result )
520
520
}
521
521
}
522
522
523
523
func BenchmarkMaxMindDB (b * testing.B ) {
524
524
db , err := Open ("GeoLite2-City.mmdb" )
525
- assert . Nil (b , err )
525
+ require . NoError (b , err )
526
526
527
527
r := rand .New (rand .NewSource (time .Now ().UnixNano ()))
528
528
var result interface {}
@@ -531,14 +531,14 @@ func BenchmarkMaxMindDB(b *testing.B) {
531
531
for i := 0 ; i < b .N ; i ++ {
532
532
randomIPv4Address (r , ip )
533
533
err = db .Lookup (ip , & result )
534
- assert .Nil (b , err )
534
+ assert .NoError (b , err )
535
535
}
536
- assert .Nil (b , db .Close (), "error on close" )
536
+ assert .NoError (b , db .Close (), "error on close" )
537
537
}
538
538
539
539
func BenchmarkCountryCode (b * testing.B ) {
540
540
db , err := Open ("GeoLite2-City.mmdb" )
541
- assert . Nil (b , err )
541
+ require . NoError (b , err )
542
542
543
543
type MinCountry struct {
544
544
Country struct {
@@ -553,9 +553,9 @@ func BenchmarkCountryCode(b *testing.B) {
553
553
for i := 0 ; i < b .N ; i ++ {
554
554
randomIPv4Address (r , ip )
555
555
err = db .Lookup (ip , & result )
556
- assert .Nil (b , err )
556
+ assert .NoError (b , err )
557
557
}
558
- assert .Nil (b , db .Close (), "error on close" )
558
+ assert .NoError (b , db .Close (), "error on close" )
559
559
}
560
560
561
561
func randomIPv4Address (r * rand.Rand , ip []byte ) {
0 commit comments