@@ -11,14 +11,15 @@ import (
11
11
"time"
12
12
13
13
"github.com/stretchr/testify/assert"
14
+ "github.com/stretchr/testify/require"
14
15
)
15
16
16
17
func TestReader (t * testing.T ) {
17
18
for _ , recordSize := range []uint {24 , 28 , 32 } {
18
19
for _ , ipVersion := range []uint {4 , 6 } {
19
20
fileName := fmt .Sprintf ("test-data/test-data/MaxMind-DB-test-ipv%d-%d.mmdb" , ipVersion , recordSize )
20
21
reader , err := Open (fileName )
21
- assert .Nil (t , err , "unexpected error while opening database: %v" , err )
22
+ require .Nil (t , err , "unexpected error while opening database: %v" , err )
22
23
checkMetadata (t , reader , ipVersion , recordSize )
23
24
24
25
if ipVersion == 4 {
@@ -36,7 +37,7 @@ func TestReaderBytes(t *testing.T) {
36
37
fileName := fmt .Sprintf ("test-data/test-data/MaxMind-DB-test-ipv%d-%d.mmdb" , ipVersion , recordSize )
37
38
bytes , _ := ioutil .ReadFile (fileName )
38
39
reader , err := FromBytes (bytes )
39
- assert .Nil (t , err , "unexpected error while opening bytes: %v" , err )
40
+ require .Nil (t , err , "unexpected error while opening bytes: %v" , err )
40
41
41
42
checkMetadata (t , reader , ipVersion , recordSize )
42
43
@@ -55,16 +56,16 @@ func TestDecodingToInterface(t *testing.T) {
55
56
56
57
var recordInterface interface {}
57
58
err = reader .Lookup (net .ParseIP ("::1.1.1.0" ), & recordInterface )
58
- assert .Nil (t , err , "unexpected error while doing lookup: %v" , err )
59
+ require .Nil (t , err , "unexpected error while doing lookup: %v" , err )
59
60
60
61
record := recordInterface .(map [string ]interface {})
61
- assert .True (t , assert . ObjectsAreEqual ( record ["array" ], []interface {}{uint64 (1 ), uint64 (2 ), uint64 (3 )}) )
62
+ assert .Equal (t , record ["array" ], []interface {}{uint64 (1 ), uint64 (2 ), uint64 (3 )})
62
63
assert .Equal (t , record ["boolean" ], true )
63
- assert .True (t , assert . ObjectsAreEqual ( record ["bytes" ], []byte {0x00 , 0x00 , 0x00 , 0x2a }) )
64
+ assert .Equal (t , record ["bytes" ], []byte {0x00 , 0x00 , 0x00 , 0x2a })
64
65
assert .Equal (t , record ["double" ], 42.123456 )
65
66
assert .Equal (t , record ["float" ], float32 (1.1 ))
66
67
assert .Equal (t , record ["int32" ], - 268435456 )
67
- assert .ObjectsAreEqual ( record ["map" ],
68
+ assert .Equal ( t , record ["map" ],
68
69
map [string ]interface {}{
69
70
"mapX" : map [string ]interface {}{
70
71
"arrayX" : []interface {}{uint64 (7 ), uint64 (8 ), uint64 (9 )},
@@ -77,7 +78,7 @@ func TestDecodingToInterface(t *testing.T) {
77
78
assert .Equal (t , record ["utf8_string" ], "unicode! ☯ - ♫" )
78
79
bigInt := new (big.Int )
79
80
bigInt .SetString ("1329227995784915872903807060280344576" , 10 )
80
- assert .True (t , assert . ObjectsAreEqual ( record ["uint128" ], bigInt ) )
81
+ assert .Equal (t , record ["uint128" ], bigInt )
81
82
}
82
83
83
84
type TestType struct {
@@ -97,17 +98,17 @@ type TestType struct {
97
98
98
99
func TestDecoder (t * testing.T ) {
99
100
reader , err := Open ("test-data/test-data/MaxMind-DB-test-decoder.mmdb" )
100
- assert .Nil (t , err )
101
+ require .Nil (t , err )
101
102
102
103
verify := func (result TestType ) {
103
- assert .True (t , assert . ObjectsAreEqual ( result .Array , []uint {uint (1 ), uint (2 ), uint (3 )}) )
104
+ assert .Equal (t , result .Array , []uint {uint (1 ), uint (2 ), uint (3 )})
104
105
assert .Equal (t , result .Boolean , true )
105
- assert .True (t , assert . ObjectsAreEqual ( result .Bytes , []byte {0x00 , 0x00 , 0x00 , 0x2a }) )
106
+ assert .Equal (t , result .Bytes , []byte {0x00 , 0x00 , 0x00 , 0x2a })
106
107
assert .Equal (t , result .Double , 42.123456 )
107
108
assert .Equal (t , result .Float , float32 (1.1 ))
108
109
assert .Equal (t , result .Int32 , int32 (- 268435456 ))
109
110
110
- assert .ObjectsAreEqual ( result .Map ,
111
+ assert .Equal ( t , result .Map ,
111
112
map [string ]interface {}{
112
113
"mapX" : map [string ]interface {}{
113
114
"arrayX" : []interface {}{uint64 (7 ), uint64 (8 ), uint64 (9 )},
@@ -120,7 +121,7 @@ func TestDecoder(t *testing.T) {
120
121
assert .Equal (t , result .Utf8String , "unicode! ☯ - ♫" )
121
122
bigInt := new (big.Int )
122
123
bigInt .SetString ("1329227995784915872903807060280344576" , 10 )
123
- assert .True (t , assert . ObjectsAreEqual ( & result .Uint128 , bigInt ) )
124
+ assert .Equal (t , & result .Uint128 , bigInt )
124
125
}
125
126
126
127
{
@@ -155,9 +156,9 @@ func TestStructInterface(t *testing.T) {
155
156
var result TestInterface = & TestType {}
156
157
157
158
reader , err := Open ("test-data/test-data/MaxMind-DB-test-decoder.mmdb" )
158
- assert .Nil (t , err )
159
+ require .Nil (t , err )
159
160
160
- assert .Nil (t , reader .Lookup (net .ParseIP ("::1.1.1.0" ), & result ))
161
+ require .Nil (t , reader .Lookup (net .ParseIP ("::1.1.1.0" ), & result ))
161
162
162
163
assert .Equal (t , result .method (), true )
163
164
}
@@ -166,7 +167,7 @@ func TestNonEmptyNilInterface(t *testing.T) {
166
167
var result TestInterface
167
168
168
169
reader , err := Open ("test-data/test-data/MaxMind-DB-test-decoder.mmdb" )
169
- assert .Nil (t , err )
170
+ require .Nil (t , err )
170
171
171
172
err = reader .Lookup (net .ParseIP ("::1.1.1.0" ), & result )
172
173
assert .Equal (t , err .Error (), "maxminddb: cannot unmarshal map into type maxminddb.TestInterface" )
@@ -191,8 +192,8 @@ func TesValueTypeInterface(t *testing.T) {
191
192
result .Boolean = Bool (false )
192
193
193
194
reader , err := Open ("test-data/test-data/MaxMind-DB-test-decoder.mmdb" )
194
- assert .Nil (t , err )
195
- assert .Nil (t , reader .Lookup (net .ParseIP ("::1.1.1.0" ), & result ))
195
+ require .Nil (t , err )
196
+ require .Nil (t , reader .Lookup (net .ParseIP ("::1.1.1.0" ), & result ))
196
197
197
198
assert .Equal (t , result .Boolean .true (), true )
198
199
}
@@ -236,16 +237,16 @@ func TestComplexStructWithNestingAndPointer(t *testing.T) {
236
237
var result TestPointerType
237
238
238
239
err = reader .Lookup (net .ParseIP ("::1.1.1.0" ), & result )
239
- assert .Nil (t , err )
240
+ require .Nil (t , err )
240
241
241
- assert .True (t , assert . ObjectsAreEqual ( * result .Array , []uint {uint (1 ), uint (2 ), uint (3 )}) )
242
+ assert .Equal (t , * result .Array , []uint {uint (1 ), uint (2 ), uint (3 )})
242
243
assert .Equal (t , * result .Boolean , true )
243
- assert .True (t , assert . ObjectsAreEqual ( * result .Bytes , []byte {0x00 , 0x00 , 0x00 , 0x2a }) )
244
+ assert .Equal (t , * result .Bytes , []byte {0x00 , 0x00 , 0x00 , 0x2a })
244
245
assert .Equal (t , * result .Double , 42.123456 )
245
246
assert .Equal (t , * result .Float , float32 (1.1 ))
246
247
assert .Equal (t , * result .Int32 , int32 (- 268435456 ))
247
248
248
- assert .True (t , assert . ObjectsAreEqual ( result .Map .MapX .ArrayX , []int {7 , 8 , 9 }) )
249
+ assert .Equal (t , result .Map .MapX .ArrayX , []int {7 , 8 , 9 })
249
250
250
251
assert .Equal (t , result .Map .MapX .UTF8StringX , "hello" )
251
252
@@ -255,18 +256,18 @@ func TestComplexStructWithNestingAndPointer(t *testing.T) {
255
256
assert .Equal (t , * result .Utf8String , "unicode! ☯ - ♫" )
256
257
bigInt := new (big.Int )
257
258
bigInt .SetString ("1329227995784915872903807060280344576" , 10 )
258
- assert .True (t , assert . ObjectsAreEqual ( result .Uint128 , bigInt ) )
259
+ assert .Equal (t , result .Uint128 , bigInt )
259
260
260
261
assert .Nil (t , reader .Close ())
261
262
}
262
263
263
264
func TestNestedOffsetDecode (t * testing.T ) {
264
265
db , err := Open ("test-data/test-data/GeoIP2-City-Test.mmdb" )
265
- assert .Nil (t , err )
266
+ require .Nil (t , err )
266
267
267
268
off , err := db .LookupOffset (net .ParseIP ("81.2.69.142" ))
268
269
assert .NotEqual (t , off , NotFound )
269
- assert .Nil (t , err )
270
+ require .Nil (t , err )
270
271
271
272
var root struct {
272
273
CountryOffset uintptr `maxminddb:"country"`
@@ -301,49 +302,49 @@ func TestNestedOffsetDecode(t *testing.T) {
301
302
302
303
func TestDecodingUint16IntoInt (t * testing.T ) {
303
304
reader , err := Open ("test-data/test-data/MaxMind-DB-test-decoder.mmdb" )
304
- assert .Nil (t , err , "unexpected error while opening database: %v" , err )
305
+ require .Nil (t , err , "unexpected error while opening database: %v" , err )
305
306
306
307
var result struct {
307
308
Uint16 int `maxminddb:"uint16"`
308
309
}
309
310
err = reader .Lookup (net .ParseIP ("::1.1.1.0" ), & result )
310
- assert .Nil (t , err )
311
+ require .Nil (t , err )
311
312
312
313
assert .Equal (t , result .Uint16 , 100 )
313
314
}
314
315
315
316
func TestIpv6inIpv4 (t * testing.T ) {
316
317
reader , err := Open ("test-data/test-data/MaxMind-DB-test-ipv4-24.mmdb" )
317
- assert .Nil (t , err , "unexpected error while opening database: %v" , err )
318
+ require .Nil (t , err , "unexpected error while opening database: %v" , err )
318
319
319
320
var result TestType
320
321
err = reader .Lookup (net .ParseIP ("2001::" ), & result )
321
322
322
323
var emptyResult TestType
323
- assert .True (t , assert . ObjectsAreEqual ( result , emptyResult ) )
324
+ assert .Equal (t , result , emptyResult )
324
325
325
326
expected := errors .New ("error looking up '2001::': you attempted to look up an IPv6 address in an IPv4-only database" )
326
- assert .True (t , assert . ObjectsAreEqual ( err , expected ) )
327
+ assert .Equal (t , err , expected )
327
328
assert .Nil (t , reader .Close (), "error on close" )
328
329
}
329
330
330
331
func TestBrokenDoubleDatabase (t * testing.T ) {
331
332
reader , err := Open ("test-data/test-data/GeoIP2-City-Test-Broken-Double-Format.mmdb" )
332
- assert .Nil (t , err , "unexpected error while opening database: %v" , err )
333
+ require .Nil (t , err , "unexpected error while opening database: %v" , err )
333
334
334
335
var result interface {}
335
336
err = reader .Lookup (net .ParseIP ("2001:220::" ), & result )
336
337
337
338
expected := newInvalidDatabaseError ("the MaxMind DB file's data section contains bad data (float 64 size of 2)" )
338
- assert .True (t , assert . ObjectsAreEqual ( err , expected ) )
339
+ assert .Equal (t , err , expected )
339
340
assert .Nil (t , reader .Close (), "error on close" )
340
341
}
341
342
342
343
func TestInvalidNodeCountDatabase (t * testing.T ) {
343
344
_ , err := Open ("test-data/test-data/GeoIP2-City-Test-Invalid-Node-Count.mmdb" )
344
345
345
346
expected := newInvalidDatabaseError ("the MaxMind DB contains invalid metadata" )
346
- assert .True (t , assert . ObjectsAreEqual ( err , expected ) )
347
+ assert .Equal (t , err , expected )
347
348
}
348
349
349
350
func TestMissingDatabase (t * testing.T ) {
@@ -385,13 +386,13 @@ func checkMetadata(t *testing.T, reader *Reader, ipVersion uint, recordSize uint
385
386
assert .IsType (t , uint (0 ), metadata .BuildEpoch )
386
387
assert .Equal (t , metadata .DatabaseType , "Test" )
387
388
388
- assert .ObjectsAreEqual ( metadata .Description ,
389
+ assert .Equal ( t , metadata .Description ,
389
390
map [string ]string {
390
391
"en" : "Test Database" ,
391
392
"zh" : "Test Database Chinese" ,
392
393
})
393
394
assert .Equal (t , metadata .IPVersion , ipVersion )
394
- assert .True (t , assert . ObjectsAreEqual ( metadata .Languages , []string {"en" , "zh" }) )
395
+ assert .Equal (t , metadata .Languages , []string {"en" , "zh" })
395
396
396
397
if ipVersion == 4 {
397
398
assert .Equal (t , metadata .NodeCount , uint (164 ))
@@ -411,7 +412,7 @@ func checkIpv4(t *testing.T, reader *Reader) {
411
412
var result map [string ]string
412
413
err := reader .Lookup (ip , & result )
413
414
assert .Nil (t , err , "unexpected error while doing lookup: %v" , err )
414
- assert .True (t , assert . ObjectsAreEqual ( result , map [string ]string {"ip" : address }) )
415
+ assert .Equal (t , result , map [string ]string {"ip" : address })
415
416
}
416
417
pairs := map [string ]string {
417
418
"1.1.1.3" : "1.1.1.2" ,
@@ -431,7 +432,7 @@ func checkIpv4(t *testing.T, reader *Reader) {
431
432
var result map [string ]string
432
433
err := reader .Lookup (ip , & result )
433
434
assert .Nil (t , err , "unexpected error while doing lookup: %v" , err )
434
- assert .True (t , assert . ObjectsAreEqual ( result , data ) )
435
+ assert .Equal (t , result , data )
435
436
}
436
437
437
438
for _ , address := range []string {"1.1.1.33" , "255.254.253.123" } {
@@ -453,7 +454,7 @@ func checkIpv6(t *testing.T, reader *Reader) {
453
454
var result map [string ]string
454
455
err := reader .Lookup (net .ParseIP (address ), & result )
455
456
assert .Nil (t , err , "unexpected error while doing lookup: %v" , err )
456
- assert .True (t , assert . ObjectsAreEqual ( result , map [string ]string {"ip" : address }) )
457
+ assert .Equal (t , result , map [string ]string {"ip" : address })
457
458
}
458
459
459
460
pairs := map [string ]string {
@@ -472,7 +473,7 @@ func checkIpv6(t *testing.T, reader *Reader) {
472
473
var result map [string ]string
473
474
err := reader .Lookup (net .ParseIP (keyAddress ), & result )
474
475
assert .Nil (t , err , "unexpected error while doing lookup: %v" , err )
475
- assert .True (t , assert . ObjectsAreEqual ( result , data ) )
476
+ assert .Equal (t , result , data )
476
477
}
477
478
478
479
for _ , address := range []string {"1.1.1.33" , "255.254.253.123" , "89fa::" } {
0 commit comments