truemail-rspec 0.1.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,11 +2,13 @@
2
2
 
3
3
  require 'truemail/rspec/version'
4
4
  require 'truemail/rspec/configuration_helper'
5
+ require 'truemail/rspec/auditor_helper'
5
6
  require 'truemail/rspec/validator_helper'
6
7
 
7
8
  module Truemail
8
9
  module RSpec
9
10
  include Truemail::RSpec::ConfigurationHelper
11
+ include Truemail::RSpec::AuditorHelper
10
12
  include Truemail::RSpec::ValidatorHelper
11
13
  end
12
14
  end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Truemail
4
+ module RSpec
5
+ module AuditorHelper
6
+ def create_auditor(
7
+ success: true,
8
+ current_host_ip: Faker::Internet.ip_v4_address,
9
+ warnings: { ip: Truemail::Audit::Ip::IPIFY_ERROR },
10
+ configuration: create_configuration
11
+ )
12
+ Truemail::Auditor.new(configuration: configuration).tap do |auditor|
13
+ auditor_result = auditor.result
14
+ auditor_result.current_host_ip = current_host_ip if success
15
+ auditor_result.warnings = warnings unless success
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -12,8 +12,8 @@ module Truemail
12
12
  end
13
13
 
14
14
  def create_configuration(**configuration_settings)
15
- configuration_settings[:verifier_email] = FFaker::Internet.email unless configuration_settings[:verifier_email]
16
- Truemail::Configuration.new(&configuration_block(configuration_settings))
15
+ configuration_settings[:verifier_email] = Faker::Internet.email unless configuration_settings[:verifier_email]
16
+ Truemail::Configuration.new(&configuration_block(**configuration_settings))
17
17
  end
18
18
  end
19
19
  end
@@ -4,17 +4,18 @@ module Truemail
4
4
  module RSpec
5
5
  module ValidatorHelper
6
6
  def create_servers_list
7
- Array.new(rand(1..4)) { FFaker::Internet.ip_v4_address }
7
+ Array.new(rand(1..4)) { Faker::Internet.ip_v4_address }
8
8
  end
9
9
 
10
- def create_validator(
10
+ def create_validator( # rubocop:disable Metrics/ParameterLists
11
11
  validation_type = nil,
12
- email = FFaker::Internet.email,
12
+ email = Faker::Internet.email,
13
13
  mail_servers = create_servers_list,
14
+ rcptto_error: 'user not found',
14
15
  success: true,
15
16
  configuration: create_configuration
16
17
  )
17
- set_expected_result(validation_type, email, mail_servers, success, configuration)
18
+ set_expected_result(validation_type, email, mail_servers, success, configuration, rcptto_error)
18
19
  stub_validation_layers
19
20
  validator_instance = ValidatorFactory.call(validation_type, success, email, configuration)
20
21
  unstub_validation_layers
@@ -23,14 +24,15 @@ module Truemail
23
24
 
24
25
  private
25
26
 
26
- attr_reader :validation_type, :email, :success, :configuration, :mail_servers
27
+ attr_reader :validation_type, :email, :success, :configuration, :mail_servers, :rcptto_error
27
28
 
28
- def set_expected_result(validation_type, email, mail_servers, success, configuration)
29
+ def set_expected_result(validation_type, email, mail_servers, success, configuration, rcptto_error) # rubocop:disable Metrics/ParameterLists
29
30
  @validation_type = validation_type
30
31
  @email = email
31
32
  @mail_servers = mail_servers
32
33
  @success = success
33
34
  @configuration = configuration
35
+ @rcptto_error = rcptto_error
34
36
  end
35
37
 
36
38
  def stub_validation_layers
@@ -41,7 +43,7 @@ module Truemail
41
43
  end
42
44
  end
43
45
 
44
- def unstub_validation_layers
46
+ def unstub_validation_layers # rubocop:disable Metrics/AbcSize
45
47
  allow_any_instance_of(Truemail::Validate::Regex).to receive(:match_regex_pattern?).and_call_original
46
48
  allow(Truemail::Validate::Regex).to receive(:check).and_call_original
47
49
  allow_any_instance_of(Truemail::Validate::Mx).to receive(:mx_records).and_call_original
@@ -74,13 +76,13 @@ module Truemail
74
76
  response.helo = true
75
77
  response.mailfrom = true
76
78
  response.rcptto = false
77
- response.errors[:rcptto] = 'user not found'
79
+ response.errors[:rcptto] = rcptto_error
78
80
  end
79
81
 
80
82
  request
81
83
  end
82
84
 
83
- def smtp_layer
85
+ def smtp_layer # rubocop:disable Metrics/AbcSize
84
86
  allow(Truemail::Validate::Regex).to receive(:check).and_return(true)
85
87
  allow_any_instance_of(Truemail::Validate::Mx).to receive(:mx_records).and_return(mail_servers)
86
88
  allow_any_instance_of(Truemail::Validate::Mx).to receive(:domain_not_include_null_mx).and_return(true)
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Truemail
4
4
  module RSpec
5
- VERSION = '0.1.1'
5
+ VERSION = '0.3.0'
6
6
  end
7
7
  end
@@ -16,6 +16,14 @@ Gem::Specification.new do |spec|
16
16
  spec.homepage = 'https://github.com/truemail-rb/truemail-rspec'
17
17
  spec.license = 'MIT'
18
18
 
19
+ spec.metadata = {
20
+ 'homepage_uri' => 'https://truemail-rb.org',
21
+ 'changelog_uri' => 'https://github.com/truemail-rb/truemail-rspec/blob/master/CHANGELOG.md',
22
+ 'source_code_uri' => 'https://github.com/truemail-rb/truemail-rspec',
23
+ 'documentation_uri' => 'https://truemail-rb.org/truemail-rspec',
24
+ 'bug_tracker_uri' => 'https://github.com/truemail-rb/truemail-rspec/issues'
25
+ }
26
+
19
27
  spec.required_ruby_version = '>= 2.5.0'
20
28
 
21
29
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
@@ -24,17 +32,18 @@ Gem::Specification.new do |spec|
24
32
  spec.require_paths = ['lib']
25
33
 
26
34
  spec.add_development_dependency 'bundler', '~> 1.16'
27
- spec.add_development_dependency 'bundler-audit', '~> 0.6.1'
28
- spec.add_development_dependency 'fasterer', '~> 0.8.0'
29
- spec.add_development_dependency 'ffaker', '~> 2.13'
30
- spec.add_development_dependency 'overcommit', '~> 0.51.0'
31
- spec.add_development_dependency 'pry-byebug', '~> 3.7'
35
+ spec.add_development_dependency 'bundler-audit', '~> 0.7.0.1'
36
+ spec.add_development_dependency 'faker', '~> 2.15', '>= 2.15.1'
37
+ spec.add_development_dependency 'fasterer', '~> 0.8.3'
38
+ spec.add_development_dependency 'overcommit', '~> 0.57.0'
39
+ spec.add_development_dependency 'pry-byebug', '~> 3.9'
32
40
  spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.1'
33
- spec.add_development_dependency 'reek', '~> 5.5'
34
- spec.add_development_dependency 'rspec', '~> 3.9'
35
- spec.add_development_dependency 'rubocop', '~> 0.76.0'
36
- spec.add_development_dependency 'rubocop-rspec', '~> 1.36'
41
+ spec.add_development_dependency 'reek', '~> 6.0', '>= 6.0.2'
42
+ spec.add_development_dependency 'rspec', '~> 3.10'
43
+ spec.add_development_dependency 'rubocop', '~> 1.5', '>= 1.5.2'
44
+ spec.add_development_dependency 'rubocop-performance', '~> 1.9', '>= 1.9.1'
45
+ spec.add_development_dependency 'rubocop-rspec', '~> 2.0', '>= 2.0.1'
37
46
  spec.add_development_dependency 'simplecov', '~> 0.17.1'
38
- spec.add_runtime_dependency 'rspec', '~> 3.0'
39
- spec.add_runtime_dependency 'truemail', '~> 1.4', '>= 1.4.1'
47
+ spec.add_runtime_dependency 'rspec', '~> 3.10'
48
+ spec.add_runtime_dependency 'truemail', '~> 2.2'
40
49
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: truemail-rspec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vladislav Trotsenko
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-11-22 00:00:00.000000000 Z
11
+ date: 2020-12-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -30,70 +30,76 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.6.1
33
+ version: 0.7.0.1
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.6.1
40
+ version: 0.7.0.1
41
41
  - !ruby/object:Gem::Dependency
42
- name: fasterer
42
+ name: faker
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.8.0
47
+ version: '2.15'
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: 2.15.1
48
51
  type: :development
49
52
  prerelease: false
50
53
  version_requirements: !ruby/object:Gem::Requirement
51
54
  requirements:
52
55
  - - "~>"
53
56
  - !ruby/object:Gem::Version
54
- version: 0.8.0
57
+ version: '2.15'
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: 2.15.1
55
61
  - !ruby/object:Gem::Dependency
56
- name: ffaker
62
+ name: fasterer
57
63
  requirement: !ruby/object:Gem::Requirement
58
64
  requirements:
59
65
  - - "~>"
60
66
  - !ruby/object:Gem::Version
61
- version: '2.13'
67
+ version: 0.8.3
62
68
  type: :development
63
69
  prerelease: false
64
70
  version_requirements: !ruby/object:Gem::Requirement
65
71
  requirements:
66
72
  - - "~>"
67
73
  - !ruby/object:Gem::Version
68
- version: '2.13'
74
+ version: 0.8.3
69
75
  - !ruby/object:Gem::Dependency
70
76
  name: overcommit
71
77
  requirement: !ruby/object:Gem::Requirement
72
78
  requirements:
73
79
  - - "~>"
74
80
  - !ruby/object:Gem::Version
75
- version: 0.51.0
81
+ version: 0.57.0
76
82
  type: :development
77
83
  prerelease: false
78
84
  version_requirements: !ruby/object:Gem::Requirement
79
85
  requirements:
80
86
  - - "~>"
81
87
  - !ruby/object:Gem::Version
82
- version: 0.51.0
88
+ version: 0.57.0
83
89
  - !ruby/object:Gem::Dependency
84
90
  name: pry-byebug
85
91
  requirement: !ruby/object:Gem::Requirement
86
92
  requirements:
87
93
  - - "~>"
88
94
  - !ruby/object:Gem::Version
89
- version: '3.7'
95
+ version: '3.9'
90
96
  type: :development
91
97
  prerelease: false
92
98
  version_requirements: !ruby/object:Gem::Requirement
93
99
  requirements:
94
100
  - - "~>"
95
101
  - !ruby/object:Gem::Version
96
- version: '3.7'
102
+ version: '3.9'
97
103
  - !ruby/object:Gem::Dependency
98
104
  name: rake
99
105
  requirement: !ruby/object:Gem::Requirement
@@ -120,56 +126,94 @@ dependencies:
120
126
  requirements:
121
127
  - - "~>"
122
128
  - !ruby/object:Gem::Version
123
- version: '5.5'
129
+ version: '6.0'
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: 6.0.2
124
133
  type: :development
125
134
  prerelease: false
126
135
  version_requirements: !ruby/object:Gem::Requirement
127
136
  requirements:
128
137
  - - "~>"
129
138
  - !ruby/object:Gem::Version
130
- version: '5.5'
139
+ version: '6.0'
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: 6.0.2
131
143
  - !ruby/object:Gem::Dependency
132
144
  name: rspec
133
145
  requirement: !ruby/object:Gem::Requirement
134
146
  requirements:
135
147
  - - "~>"
136
148
  - !ruby/object:Gem::Version
137
- version: '3.9'
149
+ version: '3.10'
138
150
  type: :development
139
151
  prerelease: false
140
152
  version_requirements: !ruby/object:Gem::Requirement
141
153
  requirements:
142
154
  - - "~>"
143
155
  - !ruby/object:Gem::Version
144
- version: '3.9'
156
+ version: '3.10'
145
157
  - !ruby/object:Gem::Dependency
146
158
  name: rubocop
147
159
  requirement: !ruby/object:Gem::Requirement
148
160
  requirements:
149
161
  - - "~>"
150
162
  - !ruby/object:Gem::Version
151
- version: 0.76.0
163
+ version: '1.5'
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: 1.5.2
152
167
  type: :development
153
168
  prerelease: false
154
169
  version_requirements: !ruby/object:Gem::Requirement
155
170
  requirements:
156
171
  - - "~>"
157
172
  - !ruby/object:Gem::Version
158
- version: 0.76.0
173
+ version: '1.5'
174
+ - - ">="
175
+ - !ruby/object:Gem::Version
176
+ version: 1.5.2
177
+ - !ruby/object:Gem::Dependency
178
+ name: rubocop-performance
179
+ requirement: !ruby/object:Gem::Requirement
180
+ requirements:
181
+ - - "~>"
182
+ - !ruby/object:Gem::Version
183
+ version: '1.9'
184
+ - - ">="
185
+ - !ruby/object:Gem::Version
186
+ version: 1.9.1
187
+ type: :development
188
+ prerelease: false
189
+ version_requirements: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - "~>"
192
+ - !ruby/object:Gem::Version
193
+ version: '1.9'
194
+ - - ">="
195
+ - !ruby/object:Gem::Version
196
+ version: 1.9.1
159
197
  - !ruby/object:Gem::Dependency
160
198
  name: rubocop-rspec
161
199
  requirement: !ruby/object:Gem::Requirement
162
200
  requirements:
163
201
  - - "~>"
164
202
  - !ruby/object:Gem::Version
165
- version: '1.36'
203
+ version: '2.0'
204
+ - - ">="
205
+ - !ruby/object:Gem::Version
206
+ version: 2.0.1
166
207
  type: :development
167
208
  prerelease: false
168
209
  version_requirements: !ruby/object:Gem::Requirement
169
210
  requirements:
170
211
  - - "~>"
171
212
  - !ruby/object:Gem::Version
172
- version: '1.36'
213
+ version: '2.0'
214
+ - - ">="
215
+ - !ruby/object:Gem::Version
216
+ version: 2.0.1
173
217
  - !ruby/object:Gem::Dependency
174
218
  name: simplecov
175
219
  requirement: !ruby/object:Gem::Requirement
@@ -190,34 +234,28 @@ dependencies:
190
234
  requirements:
191
235
  - - "~>"
192
236
  - !ruby/object:Gem::Version
193
- version: '3.0'
237
+ version: '3.10'
194
238
  type: :runtime
195
239
  prerelease: false
196
240
  version_requirements: !ruby/object:Gem::Requirement
197
241
  requirements:
198
242
  - - "~>"
199
243
  - !ruby/object:Gem::Version
200
- version: '3.0'
244
+ version: '3.10'
201
245
  - !ruby/object:Gem::Dependency
202
246
  name: truemail
203
247
  requirement: !ruby/object:Gem::Requirement
204
248
  requirements:
205
249
  - - "~>"
206
250
  - !ruby/object:Gem::Version
207
- version: '1.4'
208
- - - ">="
209
- - !ruby/object:Gem::Version
210
- version: 1.4.1
251
+ version: '2.2'
211
252
  type: :runtime
212
253
  prerelease: false
213
254
  version_requirements: !ruby/object:Gem::Requirement
214
255
  requirements:
215
256
  - - "~>"
216
257
  - !ruby/object:Gem::Version
217
- version: '1.4'
218
- - - ">="
219
- - !ruby/object:Gem::Version
220
- version: 1.4.1
258
+ version: '2.2'
221
259
  description: Truemail RSpec helpers
222
260
  email:
223
261
  - admin@bestweb.com.ua
@@ -227,7 +265,11 @@ extra_rdoc_files: []
227
265
  files:
228
266
  - ".circleci/config.yml"
229
267
  - ".codeclimate.yml"
230
- - ".github/ISSUE_TEMPLATE.md"
268
+ - ".github/BRANCH_NAMING_CONVENTION.md"
269
+ - ".github/ISSUE_TEMPLATE/bug_report.md"
270
+ - ".github/ISSUE_TEMPLATE/feature_request.md"
271
+ - ".github/ISSUE_TEMPLATE/issue_report.md"
272
+ - ".github/ISSUE_TEMPLATE/question.md"
231
273
  - ".github/PULL_REQUEST_TEMPLATE.md"
232
274
  - ".gitignore"
233
275
  - ".overcommit.yml"
@@ -247,6 +289,7 @@ files:
247
289
  - bin/console
248
290
  - bin/setup
249
291
  - lib/truemail/rspec.rb
292
+ - lib/truemail/rspec/auditor_helper.rb
250
293
  - lib/truemail/rspec/configuration_helper.rb
251
294
  - lib/truemail/rspec/validator_helper.rb
252
295
  - lib/truemail/rspec/version.rb
@@ -254,8 +297,13 @@ files:
254
297
  homepage: https://github.com/truemail-rb/truemail-rspec
255
298
  licenses:
256
299
  - MIT
257
- metadata: {}
258
- post_install_message:
300
+ metadata:
301
+ homepage_uri: https://truemail-rb.org
302
+ changelog_uri: https://github.com/truemail-rb/truemail-rspec/blob/master/CHANGELOG.md
303
+ source_code_uri: https://github.com/truemail-rb/truemail-rspec
304
+ documentation_uri: https://truemail-rb.org/truemail-rspec
305
+ bug_tracker_uri: https://github.com/truemail-rb/truemail-rspec/issues
306
+ post_install_message:
259
307
  rdoc_options: []
260
308
  require_paths:
261
309
  - lib
@@ -270,9 +318,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
270
318
  - !ruby/object:Gem::Version
271
319
  version: '0'
272
320
  requirements: []
273
- rubyforge_project:
274
- rubygems_version: 2.7.9
275
- signing_key:
321
+ rubyforge_project:
322
+ rubygems_version: 2.7.3
323
+ signing_key:
276
324
  specification_version: 4
277
325
  summary: truemail-rspec
278
326
  test_files: []