Skip to content

Commit cb1ee51

Browse files
committed
Enable rubocop-minitest plugin
1 parent 0acae45 commit cb1ee51

File tree

6 files changed

+77
-49
lines changed

6 files changed

+77
-49
lines changed

.rubocop.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
plugins:
2+
- rubocop-minitest
23
- rubocop-performance
34
- rubocop-rake
45

@@ -43,3 +44,13 @@ Style/HashTransformKeys:
4344

4445
Gemspec/DevelopmentDependencies:
4546
Enabled: false
47+
48+
# Sometimes it makes sense to have lots of assertions.
49+
Minitest/MultipleAssertions:
50+
Enabled: false
51+
# This seems less clear to me.
52+
Minitest/RefutePredicate:
53+
Enabled: false
54+
# This seems less clear to me.
55+
Minitest/AssertPredicate:
56+
Enabled: false

maxmind-geoip2.gemspec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ Gem::Specification.new do |s|
3333
s.add_development_dependency 'minitest'
3434
s.add_development_dependency 'rake'
3535
s.add_development_dependency 'rubocop'
36+
s.add_development_dependency 'rubocop-minitest'
3637
s.add_development_dependency 'rubocop-performance'
3738
s.add_development_dependency 'rubocop-rake'
3839
s.add_development_dependency 'webmock'

test/test_client.rb

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,16 +66,16 @@ def test_country
6666
assert_equal('North America', record.continent.name)
6767

6868
assert_equal(1, record.country.geoname_id)
69-
assert_equal(false, record.country.in_european_union?)
69+
refute(record.country.in_european_union?)
7070
assert_equal('US', record.country.iso_code)
7171
assert_equal({ 'en' => 'United States of America' }, record.country.names)
7272
assert_equal('United States of America', record.country.name)
7373

7474
assert_equal(11, record.maxmind.queries_remaining)
7575

76-
assert_equal(false, record.registered_country.in_european_union?)
76+
refute(record.registered_country.in_european_union?)
7777

78-
assert_equal(true, record.traits.anycast?)
78+
assert(record.traits.anycast?)
7979
assert_equal('1.2.3.0/24', record.traits.network)
8080
end
8181

@@ -86,10 +86,10 @@ def test_insights
8686

8787
assert_equal(42, record.continent.geoname_id)
8888

89-
assert_equal(true, record.traits.anycast?)
90-
assert_equal(true, record.traits.residential_proxy?)
89+
assert(record.traits.anycast?)
90+
assert(record.traits.residential_proxy?)
9191
assert_equal('1.2.3.0/24', record.traits.network)
92-
assert_equal(1.3, record.traits.static_ip_score)
92+
assert_in_delta(1.3, record.traits.static_ip_score)
9393
assert_equal(2, record.traits.user_count)
9494
end
9595

test/test_model_country.rb

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -29,20 +29,18 @@ class CountryModelTest < Minitest::Test
2929

3030
def test_objects
3131
model = MaxMind::GeoIP2::Model::Country.new(RAW, ['en'])
32-
assert_equal(MaxMind::GeoIP2::Model::Country, model.class)
33-
assert_equal(MaxMind::GeoIP2::Record::Continent, model.continent.class)
34-
assert_equal(MaxMind::GeoIP2::Record::Country, model.country.class)
35-
assert_equal(
36-
MaxMind::GeoIP2::Record::Country,
37-
model.registered_country.class,
32+
33+
assert_instance_of(MaxMind::GeoIP2::Model::Country, model)
34+
assert_instance_of(MaxMind::GeoIP2::Record::Continent, model.continent)
35+
assert_instance_of(MaxMind::GeoIP2::Record::Country, model.country)
36+
assert_instance_of(
37+
MaxMind::GeoIP2::Record::Country, model.registered_country,
3838
)
39-
assert_equal(
40-
MaxMind::GeoIP2::Record::RepresentedCountry,
41-
model.represented_country.class,
39+
assert_instance_of(
40+
MaxMind::GeoIP2::Record::RepresentedCountry, model.represented_country,
4241
)
43-
assert_equal(
44-
MaxMind::GeoIP2::Record::Traits,
45-
model.traits.class,
42+
assert_instance_of(
43+
MaxMind::GeoIP2::Record::Traits, model.traits,
4644
)
4745
end
4846

@@ -55,14 +53,14 @@ def test_values
5553
assert_equal('North America', model.continent.name)
5654

5755
assert_equal(1, model.country.geoname_id)
58-
assert_equal(false, model.country.in_european_union?)
56+
refute(model.country.in_european_union?)
5957
assert_equal('US', model.country.iso_code)
6058
assert_equal({ 'en' => 'United States of America' }, model.country.names)
6159
assert_equal('United States of America', model.country.name)
6260
assert_nil(model.country.confidence)
6361

6462
assert_equal(2, model.registered_country.geoname_id)
65-
assert_equal(true, model.registered_country.in_european_union?)
63+
assert(model.registered_country.in_european_union?)
6664
assert_equal('DE', model.registered_country.iso_code)
6765
assert_equal({ 'en' => 'Germany' }, model.registered_country.names)
6866
assert_equal('Germany', model.registered_country.name)
@@ -91,6 +89,7 @@ def test_no_traits
9189
},
9290
['en'],
9391
)
92+
9493
assert_equal(42, model.continent.geoname_id)
9594
end
9695
end

test/test_model_names.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,21 @@ class ModelNameTest < Minitest::Test
2929

3030
def test_fallback
3131
model = MaxMind::GeoIP2::Model::Country.new(RAW, %w[ru zh-CN en])
32+
3233
assert_equal('北美洲', model.continent.name)
3334
assert_equal('объединяет государства', model.country.name)
3435
end
3536

3637
def test_two_fallbacks
3738
model = MaxMind::GeoIP2::Model::Country.new(RAW, %w[ru jp])
39+
3840
assert_nil(model.continent.name)
3941
assert_equal('объединяет государства', model.country.name)
4042
end
4143

4244
def test_no_fallbacks
4345
model = MaxMind::GeoIP2::Model::Country.new(RAW, %w[jp])
46+
4447
assert_nil(model.continent.name)
4548
assert_nil(model.country.name)
4649
end

test/test_reader.rb

Lines changed: 43 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ def test_anonymous_ip
1313
ip = '1.2.0.1'
1414
record = reader.anonymous_ip(ip)
1515

16-
assert_equal(true, record.anonymous?)
17-
assert_equal(true, record.anonymous_vpn?)
18-
assert_equal(false, record.hosting_provider?)
19-
assert_equal(false, record.public_proxy?)
20-
assert_equal(false, record.residential_proxy?)
21-
assert_equal(false, record.tor_exit_node?)
16+
assert(record.anonymous?)
17+
assert(record.anonymous_vpn?)
18+
refute(record.hosting_provider?)
19+
refute(record.public_proxy?)
20+
refute(record.residential_proxy?)
21+
refute(record.tor_exit_node?)
2222
assert_equal(ip, record.ip_address)
2323
assert_equal('1.2.0.0/16', record.network)
2424

@@ -32,7 +32,7 @@ def test_anonymous_ip_residential_proxy
3232
ip = '81.2.69.1'
3333
record = reader.anonymous_ip(ip)
3434

35-
assert_equal(true, record.residential_proxy?)
35+
assert(record.residential_proxy?)
3636

3737
reader.close
3838
end
@@ -45,14 +45,14 @@ def test_anonymous_plus
4545
record = reader.anonymous_plus(ip)
4646

4747
assert_equal(30, record.anonymizer_confidence)
48-
assert_equal(true, record.anonymous?)
49-
assert_equal(true, record.anonymous_vpn?)
50-
assert_equal(false, record.hosting_provider?)
48+
assert(record.anonymous?)
49+
assert(record.anonymous_vpn?)
50+
refute(record.hosting_provider?)
5151
assert_equal(Date.new(2025, 4, 14), record.network_last_seen)
5252
assert_equal('foo', record.provider_name)
53-
assert_equal(false, record.public_proxy?)
54-
assert_equal(false, record.residential_proxy?)
55-
assert_equal(false, record.tor_exit_node?)
53+
refute(record.public_proxy?)
54+
refute(record.residential_proxy?)
55+
refute(record.tor_exit_node?)
5656

5757
assert_equal(ip, record.ip_address)
5858
assert_equal('1.2.0.1/32', record.network)
@@ -89,8 +89,8 @@ def test_city
8989
assert_nil(record.city.confidence)
9090

9191
assert_equal(100, record.location.accuracy_radius)
92-
assert_equal(51.75, record.location.latitude)
93-
assert_equal(-1.25, record.location.longitude)
92+
assert_in_delta(51.75, record.location.latitude)
93+
assert_in_delta(-1.25, record.location.longitude)
9494
assert_equal('Europe/London', record.location.time_zone)
9595

9696
assert_equal(2, record.subdivisions.size)
@@ -117,14 +117,16 @@ def test_city
117117
'zh-CN' => '华盛顿州',
118118
},
119119
record.subdivisions[0].names,
120-
assert_equal('WA', record.most_specific_subdivision.iso_code)
121120
)
122121

122+
assert_equal('WA', record.most_specific_subdivision.iso_code)
123+
123124
# This IP has is_anycast.
124125

125126
ip_address = '214.1.1.0'
126127
record = reader.city(ip_address)
127-
assert_equal(true, record.traits.anycast?)
128+
129+
assert(record.traits.anycast?)
128130

129131
reader.close
130132
end
@@ -135,7 +137,7 @@ def test_city_no_subdivisions
135137
)
136138
record = reader.city('2001:218::')
137139

138-
assert_equal([], record.subdivisions)
140+
assert_empty(record.subdivisions)
139141
assert_nil(record.most_specific_subdivision)
140142

141143
reader.close
@@ -179,7 +181,7 @@ def test_country
179181
assert_equal('Europe', record.continent.name)
180182

181183
assert_equal(2_635_167, record.country.geoname_id)
182-
assert_equal(false, record.country.in_european_union?)
184+
refute(record.country.in_european_union?)
183185
assert_equal('GB', record.country.iso_code)
184186
assert_equal(
185187
{
@@ -197,7 +199,7 @@ def test_country
197199
assert_equal('United Kingdom', record.country.name)
198200

199201
assert_equal(3_017_382, record.registered_country.geoname_id)
200-
assert_equal(true, record.registered_country.in_european_union?)
202+
assert(record.registered_country.in_european_union?)
201203
assert_equal('FR', record.registered_country.iso_code)
202204
assert_equal(
203205
{
@@ -235,14 +237,16 @@ def test_country
235237
assert_equal('military', record.represented_country.type)
236238

237239
record = reader.country('81.2.69.163')
240+
238241
assert_equal('81.2.69.163', record.traits.ip_address)
239242
assert_equal('81.2.69.160/27', record.traits.network)
240243

241244
# This IP has is_anycast.
242245

243246
ip_address = '214.1.1.0'
244247
record = reader.country(ip_address)
245-
assert_equal(true, record.traits.anycast?)
248+
249+
assert(record.traits.anycast?)
246250

247251
assert_raises(NoMethodError) { record.foo }
248252
reader.close
@@ -253,7 +257,8 @@ def test_is_method_returns_false
253257
'test/data/test-data/GeoIP2-Country-Test.mmdb',
254258
)
255259
record = reader.country('74.209.24.0')
256-
assert_equal(false, record.country.in_european_union?)
260+
261+
refute(record.country.in_european_union?)
257262

258263
reader.close
259264
end
@@ -289,14 +294,14 @@ def test_enterprise
289294
assert_equal(11, record.city.confidence)
290295
assert_equal(99, record.country.confidence)
291296
assert_equal(6_252_001, record.country.geoname_id)
292-
assert_equal(false, record.country.in_european_union?)
297+
refute(record.country.in_european_union?)
293298

294299
assert_equal(27, record.location.accuracy_radius)
295300

296-
assert_equal(false, record.registered_country.in_european_union?)
301+
refute(record.registered_country.in_european_union?)
297302

298303
assert_equal('Cable/DSL', record.traits.connection_type)
299-
assert_equal(true, record.traits.legitimate_proxy?)
304+
assert(record.traits.legitimate_proxy?)
300305

301306
assert_equal(ip_address, record.traits.ip_address)
302307
assert_equal('74.209.16.0/20', record.traits.network)
@@ -313,7 +318,8 @@ def test_enterprise
313318

314319
ip_address = '214.1.1.0'
315320
record = reader.enterprise(ip_address)
316-
assert_equal(true, record.traits.anycast?)
321+
322+
assert(record.traits.anycast?)
317323

318324
reader.close
319325
end
@@ -352,7 +358,7 @@ def test_no_traits
352358
assert_equal('2.125.160.216', record.traits.ip_address)
353359
assert_equal('2.125.160.216/29', record.traits.network)
354360
assert_nil(record.traits.autonomous_system_number)
355-
assert_equal(false, record.traits.anonymous?)
361+
refute(record.traits.anonymous?)
356362

357363
reader.close
358364
end
@@ -438,6 +444,7 @@ def test_default_locale
438444
"test/data/test-data/GeoIP2-#{t['file']}-Test.mmdb",
439445
)
440446
record = reader.send(t['method'], '81.2.69.160')
447+
441448
assert_equal('United Kingdom', record.country.name)
442449
reader.close
443450
end
@@ -450,6 +457,7 @@ def test_locale_list
450457
%w[xx ru pt-BR es en],
451458
)
452459
record = reader.send(t['method'], '81.2.69.160')
460+
453461
assert_equal('Великобритания', record.country.name)
454462
reader.close
455463
end
@@ -461,6 +469,7 @@ def test_has_ip_address_and_network
461469
"test/data/test-data/GeoIP2-#{t['file']}-Test.mmdb",
462470
)
463471
record = reader.send(t['method'], '81.2.69.163')
472+
464473
assert_equal('81.2.69.163', record.traits.ip_address)
465474
assert_equal('81.2.69.160/27', record.traits.network)
466475
reader.close
@@ -473,8 +482,9 @@ def test_is_in_european_union
473482
"test/data/test-data/GeoIP2-#{t['file']}-Test.mmdb",
474483
)
475484
record = reader.send(t['method'], '81.2.69.160')
476-
assert_equal(false, record.country.in_european_union?)
477-
assert_equal(false, record.registered_country.in_european_union?)
485+
486+
refute(record.country.in_european_union?)
487+
refute(record.registered_country.in_european_union?)
478488
reader.close
479489
end
480490
end
@@ -524,6 +534,7 @@ def test_metadata
524534
reader = MaxMind::GeoIP2::Reader.new(
525535
'test/data/test-data/GeoIP2-City-Test.mmdb',
526536
)
537+
527538
assert_equal('GeoIP2-City', reader.metadata.database_type)
528539
reader.close
529540
end
@@ -533,6 +544,7 @@ def test_constructor_with_minimum_keyword_arguments
533544
database: 'test/data/test-data/GeoIP2-Country-Test.mmdb',
534545
)
535546
record = reader.country('81.2.69.160')
547+
536548
assert_equal('United Kingdom', record.country.name)
537549
reader.close
538550
end
@@ -544,6 +556,7 @@ def test_constructor_with_all_keyword_arguments
544556
mode: MaxMind::DB::MODE_MEMORY,
545557
)
546558
record = reader.country('81.2.69.160')
559+
547560
assert_equal('Великобритания', record.country.name)
548561
reader.close
549562
end
@@ -569,6 +582,7 @@ def test_old_constructor_parameters
569582
mode: MaxMind::DB::MODE_MEMORY,
570583
)
571584
record = reader.country('81.2.69.160')
585+
572586
assert_equal('Великобритания', record.country.name)
573587
reader.close
574588
end

0 commit comments

Comments
 (0)