Skip to content

Commit 6bbbbc5

Browse files
authored
DE-1731: Add rubocop rspec and rake (#382)
Signed-off-by: Alex Lebedev <6421109+alex-leb@users.noreply.github.com>
1 parent 976a5f3 commit 6bbbbc5

17 files changed

+161
-94
lines changed

.rubocop.yml

Lines changed: 43 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
AllCops:
22
NewCops: disable
3+
SuggestExtensions: false
34

5+
plugins:
6+
- rubocop-rspec
7+
- rubocop-rake
8+
9+
# temporary disable main codebase errors
410
Metrics/MethodLength:
511
Enabled: false
612
Metrics/BlockLength:
@@ -15,16 +21,48 @@ Metrics/AbcSize:
1521
Enabled: false
1622
Metrics/ParameterLists:
1723
Enabled: false
18-
1924
Lint/MissingSuper:
2025
Enabled: false
21-
2226
Style/Documentation:
2327
Enabled: false
24-
2528
Style/OptionalBooleanParameter:
2629
Enabled: false
27-
2830
Naming/FileName:
2931
Exclude:
30-
- 'lib/mailgun-ruby.rb'
32+
- 'lib/mailgun-ruby.rb'
33+
34+
# temporary disable rspec errors
35+
RSpec/MultipleExpectations:
36+
Enabled: false
37+
RSpec/ExampleLength:
38+
Enabled: false
39+
RSpec/InstanceVariable:
40+
Enabled: false
41+
RSpec/MultipleMemoizedHelpers:
42+
Enabled: false
43+
RSpec/StubbedMock:
44+
Enabled: false
45+
RSpec/AnyInstance:
46+
Enabled: false
47+
RSpec/MessageSpies:
48+
Enabled: false
49+
RSpec/DescribeClass:
50+
Enabled: false
51+
RSpec/VerifiedDoubles:
52+
Enabled: false
53+
RSpec/NoExpectationExample:
54+
Enabled: false
55+
RSpec/RepeatedDescription:
56+
Enabled: false
57+
RSpec/NestedGroups:
58+
Enabled: false
59+
RSpec/MultipleDescribes:
60+
Enabled: false
61+
RSpec/BeforeAfterAll:
62+
Enabled: false
63+
RSpec/SpecFilePathFormat:
64+
Enabled: false
65+
RSpec/ContextWording:
66+
Enabled: false
67+
RSpec/OverwritingSetup:
68+
Enabled: false

Rakefile

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,3 @@ RSpec::Core::RakeTask.new('spec:all') do |t|
3030
end
3131

3232
task default: 'spec:unit'
33-
task spec: 'spec:unit'
34-
35-
task :console do
36-
sh 'pry --gem'
37-
end

mailgun.gemspec

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ Gem::Specification.new do |spec|
3434
spec.add_development_dependency 'rspec', '~> 3.13.0'
3535
spec.add_development_dependency 'rspec-its', '~> 2.0.0'
3636
spec.add_development_dependency 'rubocop'
37+
spec.add_development_dependency 'rubocop-rake'
38+
spec.add_development_dependency 'rubocop-rspec'
3739
spec.add_development_dependency 'simplecov', '~> 0.16.1'
3840
spec.add_development_dependency 'vcr', '~> 6.4.0'
3941
spec.add_development_dependency 'webmock', '~> 3.7'

spec/integration/analytics_tags_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
end
4545
end
4646

47-
context '#limits' do
47+
describe '#limits' do
4848
it 'returns limits' do
4949
response = mg_obj.limits
5050

spec/integration/domains_spec.rb

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -44,19 +44,19 @@
4444
end
4545
end
4646

47-
context '#update' do
47+
describe '#update' do
4848
let(:api_version) { 'v4' }
4949

5050
it 'updates the domain' do
5151
response = mg_obj.update(domain, { spam_action: 'block', web_scheme: 'https', wildcard: true })
5252

5353
expect(response['domain']['spam_action']).to eq('block')
5454
expect(response['domain']['web_scheme']).to eq('https')
55-
expect(response['domain']['wildcard']).to eq(true)
55+
expect(response['domain']['wildcard']).to be(true)
5656
end
5757
end
5858

59-
context '#verify' do
59+
describe '#verify' do
6060
let(:api_version) { 'v4' }
6161

6262
it 'verifies the domain' do
@@ -199,7 +199,7 @@
199199
)
200200

201201
expect(result).to include('tracking')
202-
expect(result['tracking']['click']['active']).to eq(false)
202+
expect(result['tracking']['click']['active']).to be(false)
203203
end
204204
end
205205

@@ -212,7 +212,7 @@
212212
}
213213
)
214214

215-
expect(result['click']['active']).to eq(false)
215+
expect(result['click']['active']).to be(false)
216216
end
217217
end
218218

@@ -225,7 +225,7 @@
225225
}
226226
)
227227

228-
expect(result['open']['active']).to eq(false)
228+
expect(result['open']['active']).to be(false)
229229
end
230230
end
231231

@@ -238,17 +238,11 @@
238238
}
239239
)
240240

241-
expect(result['unsubscribe']['active']).to eq(false)
241+
expect(result['unsubscribe']['active']).to be(false)
242242
end
243243
end
244244
end
245245

246-
context 'Domain::DKIM_Security methods' do
247-
# TODO: add missing:
248-
# dkim_rotation
249-
# dkim_rotate
250-
end
251-
252246
context 'Credentials methods' do
253247
# TODO: to be moved to the dedicated module
254248

spec/integration/events_spec.rb

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@
2323
end
2424

2525
it 'can iterate over all events with `each`' do
26-
@events.each do |e|
27-
expect(e).to have_key('event')
28-
end
26+
expect(@events).to all(have_key('event'))
2927
end
3028
end

spec/integration/list_members_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
expect(result.body['message']).to eq('Mailing list member has been updated')
5555
expect(result.body['member']['address']).to eq(@ml_member)
5656
expect(result.body['member']['name']).to eq('Jane Doe Update')
57-
expect(result.body['member']['subscribed']).to eq(false)
57+
expect(result.body['member']['subscribed']).to be(false)
5858
end
5959

6060
it 'removes a list member' do

spec/integration/logs_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
vcr_opts = { cassette_name: 'logs' }
77

88
describe Mailgun::Logs, vcr: vcr_opts do
9-
let(:logs) { Mailgun::Logs.new(Mailgun::Client.new(APIKEY, APIHOST, 'v1')) }
9+
let(:logs) { described_class.new(Mailgun::Client.new(APIKEY, APIHOST, 'v1')) }
1010

1111
describe '#account_logs' do
1212
let(:options) do

spec/integration/mailgun_spec.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@
115115
it 'fakes message send while in *client* test mode' do
116116
@mg_obj.enable_test_mode!
117117

118-
expect(@mg_obj.test_mode?).to eq(true)
118+
expect(@mg_obj.test_mode?).to be(true)
119119

120120
data = { from: "joe@#{@domain}",
121121
to: "bob@#{@domain}",
@@ -183,7 +183,7 @@
183183
it 'receives success response code' do
184184
@mg_obj.enable_test_mode!
185185

186-
expect(@mg_obj.test_mode?).to eq(true)
186+
expect(@mg_obj.test_mode?).to be(true)
187187

188188
data = { from: "joe@#{@domain}",
189189
to: "bob@#{@domain}",

spec/integration/metrics_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
vcr_opts = { cassette_name: 'metrics' }
77

88
describe Mailgun::Metrics, vcr: vcr_opts do
9-
let(:metrics) { Mailgun::Metrics.new(Mailgun::Client.new(APIKEY, APIHOST, 'v1')) }
9+
let(:metrics) { described_class.new(Mailgun::Client.new(APIKEY, APIHOST, 'v1')) }
1010

1111
describe '#account_metrics' do
1212
let(:options) do

0 commit comments

Comments
 (0)