truemail-rspec 0.1.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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: []