Skip to content

Commit 999beb2

Browse files
committed
Merge branch 'master' of github.com:emailable/emailable-ruby
* 'master' of github.com:emailable/emailable-ruby: Added `mailbox_full?` and `no_reply?` support. Stop tracking Gemfile.lock
2 parents c9cf073 + 45b7458 commit 999beb2

4 files changed

Lines changed: 45 additions & 83 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@
66
/pkg/
77
/spec/reports/
88
/tmp/
9+
Gemfile.lock

Gemfile.lock

Lines changed: 0 additions & 55 deletions
This file was deleted.

lib/emailable/resources/verification.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
module Emailable
22
class Verification < APIResource
33
attr_accessor :accept_all, :did_you_mean, :disposable, :domain, :duration,
4-
:email, :free, :mx_record, :reason, :role, :score,
5-
:smtp_provider, :state, :tag, :user, :first_name, :last_name,
6-
:full_name, :gender
4+
:email, :free, :mailbox_full, :mx_record, :no_reply, :reason,
5+
:role, :score, :smtp_provider, :state, :tag, :user,
6+
:first_name, :last_name, :full_name, :gender
77

8-
%w(accept_all disposable free role).each do |method|
8+
%w(accept_all disposable free role mailbox_full no_reply).each do |method|
99
define_method("#{method}?") do
1010
instance_variable_get "@#{method}"
1111
end

test/emailable_test.rb

Lines changed: 40 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -4,35 +4,22 @@ class EmailableTest < Minitest::Test
44

55
def setup
66
Emailable.api_key = 'test_7aff7fc0142c65f86a00'
7-
@result ||= Emailable.verify('jarrett@emailable.com')
8-
sleep(0.25)
97
end
108

119
def test_verification
12-
refute_nil @result.domain
13-
refute_nil @result.email
14-
refute_nil @result.reason
15-
refute_nil @result.score
16-
refute_nil @result.state
17-
refute_nil @result.user
18-
refute_nil @result.duration
10+
result = Emailable.verify('jarrett@emailable.com')
11+
refute_nil result.domain
12+
refute_nil result.email
13+
refute_nil result.reason
14+
refute_nil result.score
15+
refute_nil result.state
16+
refute_nil result.user
17+
refute_nil result.duration
1918
end
2019

2120
def test_verification_state
22-
assert %w(deliverable undeliverable risky unknown).include?(@result.state)
23-
end
24-
25-
def test_verification_role
26-
result = Emailable.verify('support@emailable.com')
27-
assert result.role?
28-
refute @result.role?
29-
end
30-
31-
def test_verification_did_you_mean
32-
result1 = Emailable.verify('jarrett@gmali.com')
33-
result2 = Emailable.verify('jarrett@gmail.com')
34-
assert result1.did_you_mean, 'jarrett@gmail.com'
35-
assert_nil result2.did_you_mean
21+
result = Emailable.verify('jarrett@emailable.com')
22+
assert %w(deliverable undeliverable risky unknown).include?(result.state)
3623
end
3724

3825
def test_verification_tag
@@ -42,7 +29,6 @@ def test_verification_tag
4229

4330
def test_account
4431
account = Emailable.account
45-
4632
refute_nil account.owner_email
4733
refute_nil account.available_credits
4834
end
@@ -62,6 +48,36 @@ def test_name_and_gender
6248
end
6349
end
6450

51+
def test_accept_all?
52+
result = Emailable.verify('accept-all@example.com')
53+
assert result.accept_all?
54+
end
55+
56+
def test_disposable?
57+
result = Emailable.verify('disposable@example.com')
58+
assert result.disposable?
59+
end
60+
61+
def test_free?
62+
result = Emailable.verify('free@example.com')
63+
assert result.free?
64+
end
65+
66+
def test_role?
67+
result = Emailable.verify('role@example.com')
68+
assert result.role?
69+
end
70+
71+
def test_mailbox_full?
72+
result = Emailable.verify('mailbox-full@example.com')
73+
assert result.mailbox_full?
74+
end
75+
76+
def test_no_reply?
77+
result = Emailable.verify('no-reply@example.com')
78+
assert result.no_reply?
79+
end
80+
6581
def test_slow_verification
6682
assert_raises(Emailable::TimeoutError) do
6783
Emailable.verify('slow@example.com')

0 commit comments

Comments
 (0)