Skip to content

Commit abe2de7

Browse files
committed
Switch to testify. Closes #27
1 parent 5b1dc16 commit abe2de7

File tree

2 files changed

+121
-110
lines changed

2 files changed

+121
-110
lines changed

reader_test.go

Lines changed: 120 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -5,91 +5,100 @@ import (
55
"net"
66
"testing"
77

8-
. "gopkg.in/check.v1"
8+
"github.com/stretchr/testify/assert"
99
)
1010

11-
func TestGeoIP2(t *testing.T) { TestingT(t) }
12-
13-
type MySuite struct{}
14-
15-
var _ = Suite(&MySuite{})
16-
17-
func (s *MySuite) TestReader(c *C) {
11+
func TestReader(t *testing.T) {
1812
reader, err := Open("test-data/test-data/GeoIP2-City-Test.mmdb")
19-
c.Assert(err, IsNil)
13+
assert.Nil(t, err)
2014

2115
defer reader.Close()
2216

2317
record, err := reader.City(net.ParseIP("81.2.69.160"))
24-
c.Assert(err, IsNil)
18+
assert.Nil(t, err)
2519

2620
m := reader.Metadata()
27-
c.Assert(m.BinaryFormatMajorVersion, Equals, uint(2))
28-
c.Assert(m.BinaryFormatMinorVersion, Equals, uint(0))
29-
c.Assert(m.BuildEpoch, Equals, uint(0x58f5327d))
30-
c.Assert(m.DatabaseType, Equals, "GeoIP2-City")
31-
c.Assert(m.Description, DeepEquals, map[string]string{
32-
"en": "GeoIP2 City Test Database (fake GeoIP2 data, for example purposes only)",
33-
"zh": "小型数据库",
34-
})
35-
c.Assert(m.IPVersion, Equals, uint(6))
36-
c.Assert(m.Languages, DeepEquals, []string{"en", "zh"})
37-
c.Assert(m.NodeCount, Equals, uint(1240))
38-
c.Assert(m.RecordSize, Equals, uint(28))
39-
40-
c.Assert(record.City.GeoNameID, Equals, uint(2643743))
41-
c.Assert(record.City.Names, DeepEquals, map[string]string{
42-
"de": "London",
43-
"en": "London",
44-
"es": "Londres",
45-
"fr": "Londres",
46-
"ja": "ロンドン",
47-
"pt-BR": "Londres",
48-
"ru": "Лондон",
49-
})
50-
c.Assert(record.Continent.GeoNameID, Equals, uint(6255148))
51-
c.Assert(record.Continent.Code, Equals, "EU")
52-
c.Assert(record.Continent.Names, DeepEquals, map[string]string{
53-
"de": "Europa",
54-
"en": "Europe",
55-
"es": "Europa",
56-
"fr": "Europe",
57-
"ja": "ヨーロッパ",
58-
"pt-BR": "Europa",
59-
"ru": "Европа",
60-
"zh-CN": "欧洲",
61-
})
62-
63-
c.Assert(record.Country.GeoNameID, Equals, uint(2635167))
64-
c.Assert(record.Country.IsoCode, Equals, "GB")
65-
c.Assert(record.Country.Names, DeepEquals, map[string]string{
66-
"de": "Vereinigtes Königreich",
67-
"en": "United Kingdom",
68-
"es": "Reino Unido",
69-
"fr": "Royaume-Uni",
70-
"ja": "イギリス",
71-
"pt-BR": "Reino Unido",
72-
"ru": "Великобритания",
73-
"zh-CN": "英国",
74-
})
75-
76-
c.Assert(record.Location.AccuracyRadius, Equals, uint16(100))
77-
c.Assert(record.Location.Latitude, Equals, 51.5142)
78-
c.Assert(record.Location.Longitude, Equals, -0.0931)
79-
c.Assert(record.Location.TimeZone, Equals, "Europe/London")
80-
81-
c.Assert(record.Subdivisions[0].GeoNameID, Equals, uint(6269131))
82-
c.Assert(record.Subdivisions[0].IsoCode, Equals, "ENG")
83-
c.Assert(record.Subdivisions[0].Names, DeepEquals, map[string]string{
84-
"en": "England",
85-
"pt-BR": "Inglaterra",
86-
"fr": "Angleterre",
87-
"es": "Inglaterra",
88-
})
89-
90-
c.Assert(record.RegisteredCountry.GeoNameID, Equals, uint(6252001))
91-
c.Assert(record.RegisteredCountry.IsoCode, Equals, "US")
92-
c.Assert(record.RegisteredCountry.Names, DeepEquals, map[string]string{
21+
assert.Equal(t, uint(2), m.BinaryFormatMajorVersion)
22+
assert.Equal(t, uint(0), m.BinaryFormatMinorVersion)
23+
assert.NotZero(t, m.BuildEpoch)
24+
assert.Equal(t, "GeoIP2-City", m.DatabaseType)
25+
assert.Equal(t,
26+
map[string]string{
27+
"en": "GeoIP2 City Test Database (fake GeoIP2 data, for example purposes only)",
28+
"zh": "小型数据库",
29+
},
30+
m.Description,
31+
)
32+
assert.Equal(t, uint(6), m.IPVersion)
33+
assert.Equal(t, []string{"en", "zh"}, m.Languages)
34+
assert.NotZero(t, m.NodeCount)
35+
assert.Equal(t, uint(28), m.RecordSize)
36+
37+
assert.Equal(t, uint(2643743), record.City.GeoNameID)
38+
assert.Equal(t,
39+
map[string]string{
40+
"de": "London",
41+
"en": "London",
42+
"es": "Londres",
43+
"fr": "Londres",
44+
"ja": "ロンドン",
45+
"pt-BR": "Londres",
46+
"ru": "Лондон",
47+
},
48+
record.City.Names,
49+
)
50+
assert.Equal(t, uint(6255148), record.Continent.GeoNameID)
51+
assert.Equal(t, "EU", record.Continent.Code)
52+
assert.Equal(t,
53+
map[string]string{
54+
"de": "Europa",
55+
"en": "Europe",
56+
"es": "Europa",
57+
"fr": "Europe",
58+
"ja": "ヨーロッパ",
59+
"pt-BR": "Europa",
60+
"ru": "Европа",
61+
"zh-CN": "欧洲",
62+
},
63+
record.Continent.Names,
64+
)
65+
66+
assert.Equal(t, uint(2635167), record.Country.GeoNameID)
67+
assert.Equal(t, "GB", record.Country.IsoCode)
68+
assert.Equal(t,
69+
map[string]string{
70+
"de": "Vereinigtes Königreich",
71+
"en": "United Kingdom",
72+
"es": "Reino Unido",
73+
"fr": "Royaume-Uni",
74+
"ja": "イギリス",
75+
"pt-BR": "Reino Unido",
76+
"ru": "Великобритания",
77+
"zh-CN": "英国",
78+
},
79+
record.Country.Names,
80+
)
81+
82+
assert.Equal(t, uint16(100), record.Location.AccuracyRadius)
83+
assert.Equal(t, 51.5142, record.Location.Latitude)
84+
assert.Equal(t, -0.0931, record.Location.Longitude)
85+
assert.Equal(t, "Europe/London", record.Location.TimeZone)
86+
87+
assert.Equal(t, uint(6269131), record.Subdivisions[0].GeoNameID)
88+
assert.Equal(t, "ENG", record.Subdivisions[0].IsoCode)
89+
assert.Equal(t,
90+
map[string]string{
91+
"en": "England",
92+
"pt-BR": "Inglaterra",
93+
"fr": "Angleterre",
94+
"es": "Inglaterra",
95+
},
96+
record.Subdivisions[0].Names,
97+
)
98+
99+
assert.Equal(t, uint(6252001), record.RegisteredCountry.GeoNameID)
100+
assert.Equal(t, "US", record.RegisteredCountry.IsoCode)
101+
assert.Equal(t, map[string]string{
93102
"de": "USA",
94103
"en": "United States",
95104
"es": "Estados Unidos",
@@ -98,84 +107,86 @@ func (s *MySuite) TestReader(c *C) {
98107
"pt-BR": "Estados Unidos",
99108
"ru": "США",
100109
"zh-CN": "美国",
101-
})
110+
},
111+
record.RegisteredCountry.Names,
112+
)
102113
}
103114

104-
func (s *MySuite) TestMetroCode(c *C) {
115+
func TestMetroCode(t *testing.T) {
105116
reader, err := Open("test-data/test-data/GeoIP2-City-Test.mmdb")
106-
c.Assert(err, IsNil)
117+
assert.Nil(t, err)
107118
defer reader.Close()
108119

109120
record, err := reader.City(net.ParseIP("216.160.83.56"))
110-
c.Assert(err, IsNil)
121+
assert.Nil(t, err)
111122

112-
c.Assert(record.Location.MetroCode, Equals, uint(819))
123+
assert.Equal(t, uint(819), record.Location.MetroCode)
113124
}
114125

115-
func (s *MySuite) TestAnonymousIP(c *C) {
126+
func TestAnonymousIP(t *testing.T) {
116127
reader, err := Open("test-data/test-data/GeoIP2-Anonymous-IP-Test.mmdb")
117-
c.Assert(err, IsNil)
128+
assert.Nil(t, err)
118129
defer reader.Close()
119130

120131
record, err := reader.AnonymousIP(net.ParseIP("1.2.0.0"))
121-
c.Assert(err, IsNil)
132+
assert.Nil(t, err)
122133

123-
c.Assert(record.IsAnonymous, Equals, true)
134+
assert.Equal(t, true, record.IsAnonymous)
124135

125-
c.Assert(record.IsAnonymousVPN, Equals, true)
126-
c.Assert(record.IsHostingProvider, Equals, false)
127-
c.Assert(record.IsPublicProxy, Equals, false)
128-
c.Assert(record.IsTorExitNode, Equals, false)
136+
assert.Equal(t, true, record.IsAnonymousVPN)
137+
assert.Equal(t, false, record.IsHostingProvider)
138+
assert.Equal(t, false, record.IsPublicProxy)
139+
assert.Equal(t, false, record.IsTorExitNode)
129140
}
130141

131-
func (s *MySuite) TestASN(c *C) {
142+
func TestASN(t *testing.T) {
132143
reader, err := Open("test-data/test-data/GeoLite2-ASN-Test.mmdb")
133-
c.Assert(err, IsNil)
144+
assert.Nil(t, err)
134145
defer reader.Close()
135146

136147
record, err := reader.ASN(net.ParseIP("1.128.0.0"))
137-
c.Assert(err, IsNil)
148+
assert.Nil(t, err)
138149

139-
c.Assert(record.AutonomousSystemNumber, Equals, uint(1221))
150+
assert.Equal(t, uint(1221), record.AutonomousSystemNumber)
140151

141-
c.Assert(record.AutonomousSystemOrganization, Equals, "Telstra Pty Ltd")
152+
assert.Equal(t, "Telstra Pty Ltd", record.AutonomousSystemOrganization)
142153
}
143154

144-
func (s *MySuite) TestConnectionType(c *C) {
155+
func TestConnectionType(t *testing.T) {
145156
reader, err := Open("test-data/test-data/GeoIP2-Connection-Type-Test.mmdb")
146-
c.Assert(err, IsNil)
157+
assert.Nil(t, err)
147158

148159
defer reader.Close()
149160

150161
record, err := reader.ConnectionType(net.ParseIP("1.0.1.0"))
151-
c.Assert(err, IsNil)
162+
assert.Nil(t, err)
152163

153-
c.Assert(record.ConnectionType, Equals, "Cable/DSL")
164+
assert.Equal(t, "Cable/DSL", record.ConnectionType)
154165
}
155166

156-
func (s *MySuite) TestDomain(c *C) {
167+
func TestDomain(t *testing.T) {
157168
reader, err := Open("test-data/test-data/GeoIP2-Domain-Test.mmdb")
158-
c.Assert(err, IsNil)
169+
assert.Nil(t, err)
159170
defer reader.Close()
160171

161172
record, err := reader.Domain(net.ParseIP("1.2.0.0"))
162-
c.Assert(err, IsNil)
163-
c.Assert(record.Domain, Equals, "maxmind.com")
173+
assert.Nil(t, err)
174+
assert.Equal(t, "maxmind.com", record.Domain)
164175
}
165176

166-
func (s *MySuite) TestISP(c *C) {
177+
func TestISP(t *testing.T) {
167178
reader, err := Open("test-data/test-data/GeoIP2-ISP-Test.mmdb")
168-
c.Assert(err, IsNil)
179+
assert.Nil(t, err)
169180
defer reader.Close()
170181

171182
record, err := reader.ISP(net.ParseIP("1.128.0.0"))
172-
c.Assert(err, IsNil)
183+
assert.Nil(t, err)
173184

174-
c.Assert(record.AutonomousSystemNumber, Equals, uint(1221))
185+
assert.Equal(t, uint(1221), record.AutonomousSystemNumber)
175186

176-
c.Assert(record.AutonomousSystemOrganization, Equals, "Telstra Pty Ltd")
177-
c.Assert(record.ISP, Equals, "Telstra Internet")
178-
c.Assert(record.Organization, Equals, "Telstra Internet")
187+
assert.Equal(t, "Telstra Pty Ltd", record.AutonomousSystemOrganization)
188+
assert.Equal(t, "Telstra Internet", record.ISP)
189+
assert.Equal(t, "Telstra Internet", record.Organization)
179190
}
180191

181192
// This ensures the compiler does not optimize away the function call

test-data

Submodule test-data updated 49 files

0 commit comments

Comments
 (0)