sendgrid4r 1.3.0 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/sendgrid4r/rest/api.rb +6 -2
- data/lib/sendgrid4r/rest/asm/groups.rb +1 -2
- data/lib/sendgrid4r/rest/bounces.rb +79 -0
- data/lib/sendgrid4r/rest/cancel_scheduled_sends.rb +92 -0
- data/lib/sendgrid4r/rest/contacts/recipients.rb +10 -13
- data/lib/sendgrid4r/rest/{subusers/subusers.rb → subusers.rb} +0 -0
- data/lib/sendgrid4r/rest/{users/users.rb → users.rb} +0 -0
- data/lib/sendgrid4r/rest/whitelabel/domains.rb +2 -6
- data/lib/sendgrid4r/version.rb +1 -1
- data/spec/client_spec.rb +15 -1
- data/spec/rest/asm/groups_spec.rb +0 -6
- data/spec/rest/bounces_spec.rb +173 -0
- data/spec/rest/cancel_scheduled_sends_spec.rb +210 -0
- data/spec/rest/contacts/lists_spec.rb +0 -6
- data/spec/rest/contacts/recipients_spec.rb +0 -9
- data/spec/rest/{subusers/subusers_spec.rb → subusers_spec.rb} +1 -1
- data/spec/rest/{users/users_spec.rb → users_spec.rb} +1 -1
- data/spec/rest/whitelabel/domains_spec.rb +0 -57
- data/spec/rest/whitelabel/links_spec.rb +3 -3
- metadata +14 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b3ee86e446ae380f740a78f1e87062d7bb5db054
|
4
|
+
data.tar.gz: a8a4dfe52c631a858531cab5de61435f13e11b0e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f2a14376adeaf79d4297555e52bf4547759990bdfd4ed69f4ff4ba6270361f0cfc76e33ed59e57930a912dd44d6672b5172c0f8a30f613e036a2ce1e02581821
|
7
|
+
data.tar.gz: d33323175ab7e3beee707805ef572f3e5ec461670412ae22760c2f88625102bd4688c01554eb73eada984f51be19904eb4e324b439175e721d8992fc2f321aff
|
data/lib/sendgrid4r/rest/api.rb
CHANGED
@@ -29,12 +29,14 @@ require 'sendgrid4r/rest/contacts/reserved_fields'
|
|
29
29
|
require 'sendgrid4r/rest/contacts/segments'
|
30
30
|
require 'sendgrid4r/rest/campaigns/campaigns'
|
31
31
|
require 'sendgrid4r/rest/api_keys/api_keys'
|
32
|
-
require 'sendgrid4r/rest/subusers
|
32
|
+
require 'sendgrid4r/rest/subusers'
|
33
33
|
require 'sendgrid4r/rest/email_activity/email_activity'
|
34
34
|
require 'sendgrid4r/rest/whitelabel/domains'
|
35
35
|
require 'sendgrid4r/rest/whitelabel/ips'
|
36
36
|
require 'sendgrid4r/rest/whitelabel/links'
|
37
|
-
require 'sendgrid4r/rest/users
|
37
|
+
require 'sendgrid4r/rest/users'
|
38
|
+
require 'sendgrid4r/rest/bounces'
|
39
|
+
require 'sendgrid4r/rest/cancel_scheduled_sends'
|
38
40
|
|
39
41
|
module SendGrid4r
|
40
42
|
module REST
|
@@ -75,6 +77,8 @@ module SendGrid4r
|
|
75
77
|
include SendGrid4r::REST::Whitelabel::Ips
|
76
78
|
include SendGrid4r::REST::Whitelabel::Links
|
77
79
|
include SendGrid4r::REST::Users
|
80
|
+
include SendGrid4r::REST::Bounces
|
81
|
+
include SendGrid4r::REST::CancelScheduledSends
|
78
82
|
end
|
79
83
|
end
|
80
84
|
end
|
@@ -13,7 +13,7 @@ module SendGrid4r
|
|
13
13
|
include SendGrid4r::REST::Request
|
14
14
|
|
15
15
|
Group = Struct.new(
|
16
|
-
:id, :name, :description, :
|
16
|
+
:id, :name, :description, :unsubscribes)
|
17
17
|
|
18
18
|
def self.url(group_id = nil)
|
19
19
|
url = "#{BASE_URL}/asm/groups"
|
@@ -36,7 +36,6 @@ module SendGrid4r
|
|
36
36
|
resp['id'],
|
37
37
|
resp['name'],
|
38
38
|
resp['description'],
|
39
|
-
resp['last_email_sent_at'],
|
40
39
|
resp['unsubscribes']
|
41
40
|
)
|
42
41
|
end
|
@@ -0,0 +1,79 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$LOAD_PATH.unshift File.dirname(__FILE__)
|
3
|
+
|
4
|
+
require 'sendgrid4r/rest/request'
|
5
|
+
|
6
|
+
module SendGrid4r
|
7
|
+
module REST
|
8
|
+
#
|
9
|
+
# SendGrid Web API v3 Subusers
|
10
|
+
#
|
11
|
+
module Bounces
|
12
|
+
include SendGrid4r::REST::Request
|
13
|
+
|
14
|
+
Bounce = Struct.new(
|
15
|
+
:created, :email, :reason, :status
|
16
|
+
)
|
17
|
+
|
18
|
+
def self.url(email = nil)
|
19
|
+
url = "#{BASE_URL}/suppression/bounces"
|
20
|
+
url = "#{url}/#{email}" unless email.nil?
|
21
|
+
url
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.create_bounces(resp)
|
25
|
+
return resp if resp.nil?
|
26
|
+
bounces = []
|
27
|
+
resp.each do |bounce|
|
28
|
+
bounces.push(SendGrid4r::REST::Bounces.create_bounce(bounce))
|
29
|
+
end
|
30
|
+
bounces
|
31
|
+
end
|
32
|
+
|
33
|
+
def self.create_bounce(resp)
|
34
|
+
return resp if resp.nil?
|
35
|
+
created = Time.at(resp['created']) unless resp['created'].nil?
|
36
|
+
Bounce.new(
|
37
|
+
created,
|
38
|
+
resp['email'],
|
39
|
+
resp['reason'],
|
40
|
+
resp['status']
|
41
|
+
)
|
42
|
+
end
|
43
|
+
|
44
|
+
def get_bounces(start_time: nil, end_time: nil, &block)
|
45
|
+
params = {}
|
46
|
+
params['start_time'] = start_time.to_i unless start_time.nil?
|
47
|
+
params['end_time'] = end_time.to_i unless end_time.nil?
|
48
|
+
resp = get(@auth, SendGrid4r::REST::Bounces.url, params, &block)
|
49
|
+
SendGrid4r::REST::Bounces.create_bounces(resp)
|
50
|
+
end
|
51
|
+
|
52
|
+
def delete_bounces(delete_all: nil, emails: nil, &block)
|
53
|
+
endpoint = SendGrid4r::REST::Bounces.url
|
54
|
+
payload = {}
|
55
|
+
if delete_all == true
|
56
|
+
payload['delete_all'] = delete_all
|
57
|
+
else
|
58
|
+
payload['emails'] = emails
|
59
|
+
end
|
60
|
+
delete(@auth, endpoint, nil, payload, &block)
|
61
|
+
end
|
62
|
+
|
63
|
+
def get_bounce(email:, &block)
|
64
|
+
endpoint = SendGrid4r::REST::Bounces.url(email)
|
65
|
+
params = {}
|
66
|
+
params['email'] = email
|
67
|
+
resp = get(@auth, endpoint, params, &block)
|
68
|
+
SendGrid4r::REST::Bounces.create_bounces(resp)
|
69
|
+
end
|
70
|
+
|
71
|
+
def delete_bounce(email:, &block)
|
72
|
+
endpoint = SendGrid4r::REST::Bounces.url(email)
|
73
|
+
params = {}
|
74
|
+
params['email'] = email
|
75
|
+
delete(@auth, endpoint, params, &block)
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
@@ -0,0 +1,92 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$LOAD_PATH.unshift File.dirname(__FILE__)
|
3
|
+
|
4
|
+
require 'sendgrid4r/rest/request'
|
5
|
+
|
6
|
+
module SendGrid4r
|
7
|
+
module REST
|
8
|
+
#
|
9
|
+
# SendGrid Web API v3 CancelScheduledSends
|
10
|
+
#
|
11
|
+
module CancelScheduledSends
|
12
|
+
include SendGrid4r::REST::Request
|
13
|
+
|
14
|
+
ScheduledSend = Struct.new(:batch_id, :status)
|
15
|
+
|
16
|
+
def self.batch_url(batch_id = nil)
|
17
|
+
url = "#{BASE_URL}/mail/batch"
|
18
|
+
url = "#{url}/#{batch_id}" unless batch_id.nil?
|
19
|
+
url
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.scheduled_sends_url(batch_id = nil)
|
23
|
+
url = "#{BASE_URL}/user/scheduled_sends"
|
24
|
+
url = "#{url}/#{batch_id}" unless batch_id.nil?
|
25
|
+
url
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.create_scheduled_sends(resp)
|
29
|
+
return resp if resp.nil?
|
30
|
+
scheduled_sends = []
|
31
|
+
resp.each do |scheduled_send|
|
32
|
+
scheduled_sends.push(
|
33
|
+
SendGrid4r::REST::CancelScheduledSends.create_scheduled_send(
|
34
|
+
scheduled_send
|
35
|
+
)
|
36
|
+
)
|
37
|
+
end
|
38
|
+
scheduled_sends
|
39
|
+
end
|
40
|
+
|
41
|
+
def self.create_scheduled_send(resp)
|
42
|
+
return resp if resp.nil?
|
43
|
+
ScheduledSend.new(resp['batch_id'], resp['status'])
|
44
|
+
end
|
45
|
+
|
46
|
+
def generate_batch_id(&block)
|
47
|
+
endpoint = SendGrid4r::REST::CancelScheduledSends.batch_url
|
48
|
+
resp = post(@auth, endpoint, nil, &block)
|
49
|
+
SendGrid4r::REST::CancelScheduledSends.create_scheduled_send(resp)
|
50
|
+
end
|
51
|
+
|
52
|
+
def validate_batch_id(batch_id:, &block)
|
53
|
+
endpoint = SendGrid4r::REST::CancelScheduledSends.batch_url(batch_id)
|
54
|
+
resp = get(@auth, endpoint, nil, &block)
|
55
|
+
SendGrid4r::REST::CancelScheduledSends.create_scheduled_send(resp)
|
56
|
+
end
|
57
|
+
|
58
|
+
def post_scheduled_send(batch_id:, status:, &block)
|
59
|
+
endpoint = SendGrid4r::REST::CancelScheduledSends.scheduled_sends_url
|
60
|
+
payload = {}
|
61
|
+
payload['batch_id'] = batch_id
|
62
|
+
payload['status'] = status
|
63
|
+
resp = post(@auth, endpoint, payload, &block)
|
64
|
+
SendGrid4r::REST::CancelScheduledSends.create_scheduled_send(resp)
|
65
|
+
end
|
66
|
+
|
67
|
+
def get_scheduled_sends(batch_id: nil, &block)
|
68
|
+
endpoint = SendGrid4r::REST::CancelScheduledSends.scheduled_sends_url(
|
69
|
+
batch_id
|
70
|
+
)
|
71
|
+
resp = get(@auth, endpoint, nil, nil, &block)
|
72
|
+
SendGrid4r::REST::CancelScheduledSends.create_scheduled_sends(resp)
|
73
|
+
end
|
74
|
+
|
75
|
+
def patch_scheduled_send(batch_id:, status:, &block)
|
76
|
+
endpoint = SendGrid4r::REST::CancelScheduledSends.scheduled_sends_url(
|
77
|
+
batch_id
|
78
|
+
)
|
79
|
+
payload = {}
|
80
|
+
payload['status'] = status
|
81
|
+
patch(@auth, endpoint, payload, &block)
|
82
|
+
end
|
83
|
+
|
84
|
+
def delete_scheduled_send(batch_id:, &block)
|
85
|
+
endpoint = SendGrid4r::REST::CancelScheduledSends.scheduled_sends_url(
|
86
|
+
batch_id
|
87
|
+
)
|
88
|
+
delete(@auth, endpoint, nil, &block)
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
@@ -30,21 +30,18 @@ module SendGrid4r
|
|
30
30
|
def self.create_recipient(resp)
|
31
31
|
return resp if resp.nil?
|
32
32
|
custom_fields = []
|
33
|
-
resp['custom_fields'].
|
34
|
-
custom_fields.
|
35
|
-
|
36
|
-
|
33
|
+
unless resp['custom_fields'].nil?
|
34
|
+
resp['custom_fields'].each do |field|
|
35
|
+
custom_fields.push(
|
36
|
+
SendGrid4r::REST::Contacts::CustomFields.create_field(field)
|
37
|
+
)
|
38
|
+
end
|
37
39
|
end
|
38
40
|
Recipient.new(
|
39
|
-
Time.at(resp['created_at']),
|
40
|
-
|
41
|
-
resp['
|
42
|
-
resp['
|
43
|
-
resp['id'],
|
44
|
-
resp['last_clicked'],
|
45
|
-
resp['last_emailed'],
|
46
|
-
resp['last_name'],
|
47
|
-
resp['last_opened'],
|
41
|
+
Time.at(resp['created_at']), custom_fields,
|
42
|
+
resp['email'], resp['first_name'], resp['id'],
|
43
|
+
resp['last_clicked'], resp['last_emailed'],
|
44
|
+
resp['last_name'], resp['last_opened'],
|
48
45
|
Time.at(resp['updated_at'])
|
49
46
|
)
|
50
47
|
end
|
File without changes
|
File without changes
|
@@ -93,9 +93,9 @@ module SendGrid4r
|
|
93
93
|
Result = Struct.new(:id, :valid, :validation_results)
|
94
94
|
ValidationResults = Struct.new(
|
95
95
|
# automatic_security:true
|
96
|
-
:mail_cname, :
|
96
|
+
:mail_cname, :dkim1, :dkim2,
|
97
97
|
# automatic_security:false
|
98
|
-
:mail_server, :subdomain_spf, :
|
98
|
+
:mail_server, :subdomain_spf, :dkim
|
99
99
|
)
|
100
100
|
ValidationResult = Struct.new(:valid, :reason)
|
101
101
|
|
@@ -119,14 +119,10 @@ module SendGrid4r
|
|
119
119
|
resp['dkim1']),
|
120
120
|
SendGrid4r::REST::Whitelabel::Domains.create_validation_result(
|
121
121
|
resp['dkim2']),
|
122
|
-
SendGrid4r::REST::Whitelabel::Domains.create_validation_result(
|
123
|
-
resp['spf']),
|
124
122
|
SendGrid4r::REST::Whitelabel::Domains.create_validation_result(
|
125
123
|
resp['mail_server']),
|
126
124
|
SendGrid4r::REST::Whitelabel::Domains.create_validation_result(
|
127
125
|
resp['subdomain_spf']),
|
128
|
-
SendGrid4r::REST::Whitelabel::Domains.create_validation_result(
|
129
|
-
resp['domain_spf']),
|
130
126
|
SendGrid4r::REST::Whitelabel::Domains.create_validation_result(
|
131
127
|
resp['dkim'])
|
132
128
|
)
|
data/lib/sendgrid4r/version.rb
CHANGED
data/spec/client_spec.rb
CHANGED
@@ -254,12 +254,26 @@ describe SendGrid4r::Client do
|
|
254
254
|
expect(@client.respond_to?('get_user_profile')).to eq(true)
|
255
255
|
expect(@client.respond_to?('patch_user_profile')).to eq(true)
|
256
256
|
expect(@client.respond_to?('get_user_account')).to eq(true)
|
257
|
+
|
258
|
+
# Bounces API
|
259
|
+
expect(@client.respond_to?('get_bounces')).to eq(true)
|
260
|
+
expect(@client.respond_to?('delete_bounces')).to eq(true)
|
261
|
+
expect(@client.respond_to?('get_bounce')).to eq(true)
|
262
|
+
expect(@client.respond_to?('delete_bounce')).to eq(true)
|
263
|
+
|
264
|
+
# Cancel Scheduled Sends Api
|
265
|
+
expect(@client.respond_to?('generate_batch_id')).to eq(true)
|
266
|
+
expect(@client.respond_to?('validate_batch_id')).to eq(true)
|
267
|
+
expect(@client.respond_to?('post_scheduled_send')).to eq(true)
|
268
|
+
expect(@client.respond_to?('get_scheduled_sends')).to eq(true)
|
269
|
+
expect(@client.respond_to?('patch_scheduled_send')).to eq(true)
|
270
|
+
expect(@client.respond_to?('delete_scheduled_send')).to eq(true)
|
257
271
|
end
|
258
272
|
end
|
259
273
|
|
260
274
|
describe 'VERSION' do
|
261
275
|
it 'returns VERSION value' do
|
262
|
-
expect(SendGrid4r::VERSION).to eq('1.
|
276
|
+
expect(SendGrid4r::VERSION).to eq('1.4.0')
|
263
277
|
end
|
264
278
|
end
|
265
279
|
end
|
@@ -60,7 +60,6 @@ describe SendGrid4r::REST::Asm::Groups do
|
|
60
60
|
expect(group_edit1.id).to be_a(Fixnum)
|
61
61
|
expect(group_edit1.name).to eq(@group_name_edit1)
|
62
62
|
expect(group_edit1.description).to eq(@group_desc_edit)
|
63
|
-
expect(group_edit1.last_email_sent_at).to eq(nil)
|
64
63
|
expect(group_edit1.unsubscribes).to eq(nil)
|
65
64
|
rescue RestClient::ExceptionWithResponse => e
|
66
65
|
puts e.inspect
|
@@ -87,7 +86,6 @@ describe SendGrid4r::REST::Asm::Groups do
|
|
87
86
|
expect(group.id).to be_a(Fixnum)
|
88
87
|
expect(group.name).to eq(@group_name1)
|
89
88
|
expect(group.description).to eq(@group_desc)
|
90
|
-
expect(group.last_email_sent_at).to eq(nil)
|
91
89
|
expect(group.unsubscribes).to eq(0)
|
92
90
|
rescue RestClient::ExceptionWithResponse => e
|
93
91
|
puts e.inspect
|
@@ -117,7 +115,6 @@ describe SendGrid4r::REST::Asm::Groups do
|
|
117
115
|
'"id": 100,'\
|
118
116
|
'"name": "Newsletters",'\
|
119
117
|
'"description": "Our monthly newsletter.",'\
|
120
|
-
'"last_email_sent_at": "2014-09-04 01:34:43",'\
|
121
118
|
'"unsubscribes": 400'\
|
122
119
|
'}'
|
123
120
|
)
|
@@ -130,14 +127,12 @@ describe SendGrid4r::REST::Asm::Groups do
|
|
130
127
|
'"id": 100,'\
|
131
128
|
'"name": "Newsletters",'\
|
132
129
|
'"description": "Our monthly newsletter.",'\
|
133
|
-
'"last_email_sent_at": "2014-09-04 01:34:43",'\
|
134
130
|
'"unsubscribes": 400'\
|
135
131
|
'},'\
|
136
132
|
'{'\
|
137
133
|
'"id": 101,'\
|
138
134
|
'"name": "Alerts",'\
|
139
135
|
'"description": "Emails triggered by user-defined rules.",'\
|
140
|
-
'"last_email_sent_at": "2012-11-06 09:37:33",'\
|
141
136
|
'"unsubscribes": 1'\
|
142
137
|
'}'\
|
143
138
|
']'
|
@@ -185,7 +180,6 @@ describe SendGrid4r::REST::Asm::Groups do
|
|
185
180
|
expect(actual.id).to eq(100)
|
186
181
|
expect(actual.name).to eq('Newsletters')
|
187
182
|
expect(actual.description).to eq('Our monthly newsletter.')
|
188
|
-
expect(actual.last_email_sent_at).to eq('2014-09-04 01:34:43')
|
189
183
|
expect(actual.unsubscribes).to eq(400)
|
190
184
|
end
|
191
185
|
|
@@ -0,0 +1,173 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require File.dirname(__FILE__) + '/../spec_helper'
|
3
|
+
|
4
|
+
describe SendGrid4r::REST::Bounces do
|
5
|
+
describe 'integration test', :it do
|
6
|
+
before do
|
7
|
+
begin
|
8
|
+
Dotenv.load
|
9
|
+
@client = SendGrid4r::Client.new(api_key: ENV['SILVER_API_KEY'])
|
10
|
+
@emails = ['a1@bounce.com', 'a2@bounce.com', 'a3@bounce.com']
|
11
|
+
rescue RestClient::ExceptionWithResponse => e
|
12
|
+
puts e.inspect
|
13
|
+
raise e
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
context 'without block call' do
|
18
|
+
it '#get_bounces' do
|
19
|
+
begin
|
20
|
+
start_time = Time.now - 60 * 60 * 24 * 365
|
21
|
+
end_time = Time.now
|
22
|
+
bounces = @client.get_bounces(
|
23
|
+
start_time: start_time, end_time: end_time
|
24
|
+
)
|
25
|
+
expect(bounces).to be_a(Array)
|
26
|
+
bounces.each do |bounce|
|
27
|
+
expect(bounce).to be_a(SendGrid4r::REST::Bounces::Bounce)
|
28
|
+
end
|
29
|
+
rescue RestClient::ExceptionWithResponse => e
|
30
|
+
puts e.inspect
|
31
|
+
raise e
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
it '#delete_bounces(delete_all: true)' do
|
36
|
+
begin
|
37
|
+
@client.delete_bounces(delete_all: true)
|
38
|
+
rescue RestClient::ExceptionWithResponse => e
|
39
|
+
puts e.inspect
|
40
|
+
raise e
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
it '#delete_bounces(emails: [])' do
|
45
|
+
begin
|
46
|
+
@client.delete_bounces(emails: @emails)
|
47
|
+
rescue RestClient::ExceptionWithResponse => e
|
48
|
+
puts e.inspect
|
49
|
+
raise e
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
it '#get_bounce' do
|
54
|
+
begin
|
55
|
+
bounce = @client.get_bounce(email: @email)
|
56
|
+
expect(bounce).to be_a(Array)
|
57
|
+
rescue RestClient::ExceptionWithResponse => e
|
58
|
+
puts e.inspect
|
59
|
+
raise e
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
it '#delete_bounce' do
|
64
|
+
begin
|
65
|
+
expect do
|
66
|
+
@client.delete_bounce(email: 'a1@bounce.com')
|
67
|
+
end.to raise_error(RestClient::ResourceNotFound)
|
68
|
+
rescue RestClient::ExceptionWithResponse => e
|
69
|
+
puts e.inspect
|
70
|
+
raise e
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
describe 'unit test', :ut do
|
77
|
+
let(:client) do
|
78
|
+
SendGrid4r::Client.new(api_key: '')
|
79
|
+
end
|
80
|
+
|
81
|
+
let(:bounces) do
|
82
|
+
JSON.parse(
|
83
|
+
'['\
|
84
|
+
'{'\
|
85
|
+
'"created": 1443651125,'\
|
86
|
+
'"email": "testemail1@test.com",'\
|
87
|
+
'"reason": "550 5.1.1 The email account that you tried to reach '\
|
88
|
+
'does not exist.'\
|
89
|
+
'Please try double-checking the recipient\'s email address for '\
|
90
|
+
'typos or unnecessary spaces. Learn more at '\
|
91
|
+
'https://support.google.com/mail/answer/6596'\
|
92
|
+
'o186si2389584ioe.63 - gsmtp ",'\
|
93
|
+
'"status": "5.1.1"'\
|
94
|
+
'},'\
|
95
|
+
'{'\
|
96
|
+
'"created": 1433800303,'\
|
97
|
+
'"email": "testemail2@testing.com",'\
|
98
|
+
'"reason": "550 5.1.1 <testemail2@testing.com>: Recipient address '\
|
99
|
+
'rejected: User unknown in virtual alias table ",'\
|
100
|
+
'"status": "5.1.1"'\
|
101
|
+
'}'\
|
102
|
+
']'
|
103
|
+
)
|
104
|
+
end
|
105
|
+
|
106
|
+
let(:bounce) do
|
107
|
+
JSON.parse(
|
108
|
+
'{'\
|
109
|
+
'"created": 1433800303,'\
|
110
|
+
'"email": "testemail2@testing.com",'\
|
111
|
+
'"reason": "550 5.1.1 <testemail2@testing.com>: Recipient address '\
|
112
|
+
'rejected: User unknown in virtual alias table ",'\
|
113
|
+
'"status": "5.1.1"'\
|
114
|
+
'}'
|
115
|
+
)
|
116
|
+
end
|
117
|
+
|
118
|
+
it '#get_bounces' do
|
119
|
+
allow(client).to receive(:execute).and_return(bounces)
|
120
|
+
actual = client.get_bounces
|
121
|
+
expect(actual).to be_a(Array)
|
122
|
+
actual.each do |bounce|
|
123
|
+
expect(bounce).to be_a(SendGrid4r::REST::Bounces::Bounce)
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
it '#delete_bounces(delete_all: true)' do
|
128
|
+
allow(client).to receive(:execute).and_return('')
|
129
|
+
client.delete_bounces(delete_all: true)
|
130
|
+
end
|
131
|
+
|
132
|
+
it '#delete_bounces(emails: [])' do
|
133
|
+
allow(client).to receive(:execute).and_return('')
|
134
|
+
actual = client.delete_bounces(emails: [])
|
135
|
+
expect(actual).to eq('')
|
136
|
+
end
|
137
|
+
|
138
|
+
it '#get_bounce' do
|
139
|
+
allow(client).to receive(:execute).and_return(bounces)
|
140
|
+
actual = client.get_bounce(email: '')
|
141
|
+
expect(actual).to be_a(Array)
|
142
|
+
actual.each do |bounce|
|
143
|
+
expect(bounce).to be_a(SendGrid4r::REST::Bounces::Bounce)
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
147
|
+
it '#delete_bounce' do
|
148
|
+
allow(client).to receive(:execute).and_return('')
|
149
|
+
actual = client.delete_bounce(email: '')
|
150
|
+
expect(actual).to eq('')
|
151
|
+
end
|
152
|
+
|
153
|
+
it 'creates bounces instance' do
|
154
|
+
actual = SendGrid4r::REST::Bounces.create_bounces(bounces)
|
155
|
+
expect(actual).to be_a(Array)
|
156
|
+
actual.each do |subuser|
|
157
|
+
expect(subuser).to be_a(SendGrid4r::REST::Bounces::Bounce)
|
158
|
+
end
|
159
|
+
end
|
160
|
+
|
161
|
+
it 'creates bounce instance' do
|
162
|
+
actual = SendGrid4r::REST::Bounces.create_bounce(bounce)
|
163
|
+
expect(actual).to be_a(SendGrid4r::REST::Bounces::Bounce)
|
164
|
+
expect(actual.created).to eq(Time.at(1433800303))
|
165
|
+
expect(actual.email).to eq('testemail2@testing.com')
|
166
|
+
expect(actual.reason).to eq(
|
167
|
+
'550 5.1.1 <testemail2@testing.com>: '\
|
168
|
+
'Recipient address rejected: User unknown in virtual alias table '
|
169
|
+
)
|
170
|
+
expect(actual.status).to eq('5.1.1')
|
171
|
+
end
|
172
|
+
end
|
173
|
+
end
|
@@ -0,0 +1,210 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require File.dirname(__FILE__) + '/../spec_helper'
|
3
|
+
|
4
|
+
describe SendGrid4r::REST::CancelScheduledSends do
|
5
|
+
describe 'integration test', :it do
|
6
|
+
before do
|
7
|
+
begin
|
8
|
+
Dotenv.load
|
9
|
+
@client = SendGrid4r::Client.new(api_key: ENV['SILVER_API_KEY'])
|
10
|
+
@scheduled_sends = @client.get_scheduled_sends
|
11
|
+
@scheduled_sends.each do |scheduled_send|
|
12
|
+
@client.delete_scheduled_send(batch_id: scheduled_send.batch_id)
|
13
|
+
end
|
14
|
+
rescue RestClient::ExceptionWithResponse => e
|
15
|
+
puts e.inspect
|
16
|
+
raise e
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
context 'without block call' do
|
21
|
+
it '#generate_batch_id' do
|
22
|
+
begin
|
23
|
+
scheduled_send = @client.generate_batch_id
|
24
|
+
expect(scheduled_send).to be_a(
|
25
|
+
SendGrid4r::REST::CancelScheduledSends::ScheduledSend
|
26
|
+
)
|
27
|
+
expect(scheduled_send.batch_id.length).to be > 0
|
28
|
+
rescue RestClient::ExceptionWithResponse => e
|
29
|
+
puts e.inspect
|
30
|
+
raise e
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
it '#validate_batch_id' do
|
35
|
+
begin
|
36
|
+
batch_id = @client.generate_batch_id.batch_id
|
37
|
+
scheduled_send = @client.validate_batch_id(batch_id: batch_id)
|
38
|
+
expect(scheduled_send).to be_a(
|
39
|
+
SendGrid4r::REST::CancelScheduledSends::ScheduledSend
|
40
|
+
)
|
41
|
+
expect(scheduled_send.batch_id).to eq(batch_id)
|
42
|
+
rescue RestClient::ExceptionWithResponse => e
|
43
|
+
puts e.inspect
|
44
|
+
raise e
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
it '#post_scheduled_send' do
|
49
|
+
begin
|
50
|
+
batch_id = @client.generate_batch_id.batch_id
|
51
|
+
scheduled_send = @client.post_scheduled_send(
|
52
|
+
batch_id: batch_id, status: 'cancel'
|
53
|
+
)
|
54
|
+
expect(scheduled_send).to be_a(
|
55
|
+
SendGrid4r::REST::CancelScheduledSends::ScheduledSend
|
56
|
+
)
|
57
|
+
rescue RestClient::ExceptionWithResponse => e
|
58
|
+
puts e.inspect
|
59
|
+
raise e
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
it '#get_scheduled_sends' do
|
64
|
+
begin
|
65
|
+
scheduled_sends = @client.get_scheduled_sends
|
66
|
+
expect(scheduled_sends).to be_a(Array)
|
67
|
+
scheduled_sends.each do |scheduled_send|
|
68
|
+
expect(scheduled_send).to be_a(
|
69
|
+
SendGrid4r::REST::CancelScheduledSends::ScheduledSend
|
70
|
+
)
|
71
|
+
end
|
72
|
+
rescue RestClient::ExceptionWithResponse => e
|
73
|
+
puts e.inspect
|
74
|
+
raise e
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
it '#patch_scheduled_send' do
|
79
|
+
begin
|
80
|
+
batch_id = @client.generate_batch_id.batch_id
|
81
|
+
expect do
|
82
|
+
@client.patch_scheduled_send(
|
83
|
+
batch_id: batch_id, status: 'pause'
|
84
|
+
)
|
85
|
+
end.to raise_error(RestClient::ResourceNotFound)
|
86
|
+
rescue RestClient::ExceptionWithResponse => e
|
87
|
+
puts e.inspect
|
88
|
+
raise e
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
it '#delete_scheduled_send' do
|
93
|
+
begin
|
94
|
+
scheduled_sends = @client.get_scheduled_sends
|
95
|
+
scheduled_sends.each do |scheduled_send|
|
96
|
+
@client.delete_scheduled_send(batch_id: scheduled_send.batch_id)
|
97
|
+
end
|
98
|
+
rescue RestClient::ExceptionWithResponse => e
|
99
|
+
puts e.inspect
|
100
|
+
raise e
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
describe 'unit test', :ut do
|
107
|
+
let(:client) do
|
108
|
+
SendGrid4r::Client.new(api_key: '')
|
109
|
+
end
|
110
|
+
|
111
|
+
let(:scheduled_send) do
|
112
|
+
JSON.parse(
|
113
|
+
'{'\
|
114
|
+
'"batch_id": "YOUR_BATCH_ID"'\
|
115
|
+
'}'
|
116
|
+
)
|
117
|
+
end
|
118
|
+
|
119
|
+
let(:scheduled_sends) do
|
120
|
+
JSON.parse(
|
121
|
+
'['\
|
122
|
+
'{'\
|
123
|
+
'"batch_id": "BATCH_ID_1",'\
|
124
|
+
'"status": "cancel"'\
|
125
|
+
'},'\
|
126
|
+
'{'\
|
127
|
+
'"batch_id": "BATCH_ID_2",'\
|
128
|
+
'"status": "pause"'\
|
129
|
+
'}'\
|
130
|
+
']'
|
131
|
+
)
|
132
|
+
end
|
133
|
+
|
134
|
+
it '#generate_batch_id' do
|
135
|
+
allow(client).to receive(:execute).and_return(scheduled_send)
|
136
|
+
actual = client.generate_batch_id
|
137
|
+
expect(actual).to be_a(
|
138
|
+
SendGrid4r::REST::CancelScheduledSends::ScheduledSend
|
139
|
+
)
|
140
|
+
expect(actual.batch_id).to eq('YOUR_BATCH_ID')
|
141
|
+
end
|
142
|
+
|
143
|
+
it '#validate_batch_id' do
|
144
|
+
allow(client).to receive(:execute).and_return(scheduled_send)
|
145
|
+
actual = client.validate_batch_id(batch_id: '')
|
146
|
+
expect(actual).to be_a(
|
147
|
+
SendGrid4r::REST::CancelScheduledSends::ScheduledSend
|
148
|
+
)
|
149
|
+
expect(actual.batch_id).to eq('YOUR_BATCH_ID')
|
150
|
+
end
|
151
|
+
|
152
|
+
it '#post_scheduled_send' do
|
153
|
+
allow(client).to receive(:execute).and_return(scheduled_send)
|
154
|
+
actual = client.post_scheduled_send(batch_id: '', status: '')
|
155
|
+
expect(actual).to be_a(
|
156
|
+
SendGrid4r::REST::CancelScheduledSends::ScheduledSend
|
157
|
+
)
|
158
|
+
expect(actual.batch_id).to eq('YOUR_BATCH_ID')
|
159
|
+
end
|
160
|
+
|
161
|
+
it '#get_scheduled_sends' do
|
162
|
+
allow(client).to receive(:execute).and_return(scheduled_sends)
|
163
|
+
actual = client.get_scheduled_sends
|
164
|
+
expect(actual).to be_a(Array)
|
165
|
+
actual.each do |scheduled_send|
|
166
|
+
expect(scheduled_send).to be_a(
|
167
|
+
SendGrid4r::REST::CancelScheduledSends::ScheduledSend
|
168
|
+
)
|
169
|
+
end
|
170
|
+
end
|
171
|
+
|
172
|
+
it '#patch_scheduled_send' do
|
173
|
+
allow(client).to receive(:execute).and_return('')
|
174
|
+
actual = client.patch_scheduled_send(batch_id: '', status: '')
|
175
|
+
expect(actual).to eq('')
|
176
|
+
end
|
177
|
+
|
178
|
+
it '#delete_scheduled_send' do
|
179
|
+
allow(client).to receive(:execute).and_return('')
|
180
|
+
actual = client.delete_scheduled_send(batch_id: '')
|
181
|
+
expect(actual).to eq('')
|
182
|
+
end
|
183
|
+
|
184
|
+
it 'creates scheduled_sends instance' do
|
185
|
+
actual = SendGrid4r::REST::CancelScheduledSends.create_scheduled_sends(
|
186
|
+
scheduled_sends
|
187
|
+
)
|
188
|
+
expect(actual).to be_a(Array)
|
189
|
+
actual.each do |scheduled_send|
|
190
|
+
expect(scheduled_send).to be_a(
|
191
|
+
SendGrid4r::REST::CancelScheduledSends::ScheduledSend
|
192
|
+
)
|
193
|
+
expect(actual[0].batch_id).to eq('BATCH_ID_1')
|
194
|
+
expect(actual[0].status).to eq('cancel')
|
195
|
+
expect(actual[1].batch_id).to eq('BATCH_ID_2')
|
196
|
+
expect(actual[1].status).to eq('pause')
|
197
|
+
end
|
198
|
+
end
|
199
|
+
|
200
|
+
it 'creates scheduled_send instance' do
|
201
|
+
actual = SendGrid4r::REST::CancelScheduledSends.create_scheduled_send(
|
202
|
+
scheduled_send
|
203
|
+
)
|
204
|
+
expect(actual).to be_a(
|
205
|
+
SendGrid4r::REST::CancelScheduledSends::ScheduledSend
|
206
|
+
)
|
207
|
+
expect(actual.batch_id).to eq('YOUR_BATCH_ID')
|
208
|
+
end
|
209
|
+
end
|
210
|
+
end
|
@@ -16,7 +16,6 @@ describe SendGrid4r::REST::Contacts::Lists do
|
|
16
16
|
@last_name2 = 'Miller'
|
17
17
|
@pet1 = 'Fluffy'
|
18
18
|
@pet2 = 'FrouFrou'
|
19
|
-
@custom_field_name = 'pet'
|
20
19
|
|
21
20
|
# celan up test env(lists)
|
22
21
|
lists = @client.get_lists
|
@@ -41,11 +40,9 @@ describe SendGrid4r::REST::Contacts::Lists do
|
|
41
40
|
recipient1 = {}
|
42
41
|
recipient1['email'] = @email1
|
43
42
|
recipient1['last_name'] = @last_name1
|
44
|
-
recipient1[@custom_field_name] = @pet1
|
45
43
|
recipient2 = {}
|
46
44
|
recipient2['email'] = @email2
|
47
45
|
recipient2['last_name'] = @last_name2
|
48
|
-
recipient2[@custom_field_name] = @pet2
|
49
46
|
result = @client.post_recipients(params: [recipient1, recipient2])
|
50
47
|
@recipients = result.persisted_recipients
|
51
48
|
@client.post_recipient_to_list(
|
@@ -54,8 +51,6 @@ describe SendGrid4r::REST::Contacts::Lists do
|
|
54
51
|
@client.post_recipient_to_list(
|
55
52
|
list_id: @list1.id, recipient_id: result.persisted_recipients[1]
|
56
53
|
)
|
57
|
-
# # Add multiple recipients to a single list
|
58
|
-
# @client.post_recipients_to_list(@list1.id, @recipients)
|
59
54
|
rescue RestClient::ExceptionWithResponse => e
|
60
55
|
puts e.inspect
|
61
56
|
raise e
|
@@ -205,7 +200,6 @@ describe SendGrid4r::REST::Contacts::Lists do
|
|
205
200
|
recipient1 = {}
|
206
201
|
recipient1['email'] = @email1
|
207
202
|
recipient1['last_name'] = @last_name1
|
208
|
-
recipient1[@custom_field_name] = @pet1
|
209
203
|
result = @client.post_recipients(params: [recipient1])
|
210
204
|
@client.post_recipient_to_list(
|
211
205
|
list_id: @list1.id, recipient_id: result.persisted_recipients[0]
|
@@ -13,7 +13,6 @@ describe SendGrid4r::REST::Contacts::Recipients do
|
|
13
13
|
@last_name2 = 'Miller'
|
14
14
|
@pet1 = 'Fluffy'
|
15
15
|
@pet2 = 'FrouFrou'
|
16
|
-
@custom_field_name = 'pet'
|
17
16
|
|
18
17
|
# celan up test env
|
19
18
|
recipients = @client.get_recipients
|
@@ -21,17 +20,10 @@ describe SendGrid4r::REST::Contacts::Recipients do
|
|
21
20
|
next if recipient.email != @email1 && recipient.email != @email2
|
22
21
|
@client.delete_recipient(recipient_id: recipient.id)
|
23
22
|
end
|
24
|
-
custom_fields = @client.get_custom_fields
|
25
|
-
custom_fields.custom_fields.each do |custom_field|
|
26
|
-
next if custom_field.name != @custom_field_name
|
27
|
-
@client.delete_custom_field(custom_field_id: custom_field.id)
|
28
|
-
end
|
29
|
-
@client.post_custom_field(name: @custom_field_name, type: 'text')
|
30
23
|
# post a recipient
|
31
24
|
params = {}
|
32
25
|
params['email'] = @email1
|
33
26
|
params['last_name'] = @last_name1
|
34
|
-
params[@custom_field_name] = @pet1
|
35
27
|
@result = @client.post_recipients(params: [params])
|
36
28
|
rescue RestClient::ExceptionWithResponse => e
|
37
29
|
puts e.inspect
|
@@ -45,7 +37,6 @@ describe SendGrid4r::REST::Contacts::Recipients do
|
|
45
37
|
params = {}
|
46
38
|
params['email'] = @email2
|
47
39
|
params['last_name'] = @last_name2
|
48
|
-
params[@custom_field_name] = @pet2
|
49
40
|
result = @client.post_recipients(params: [params])
|
50
41
|
expect(result.error_count).to eq(0)
|
51
42
|
expect(result.error_indices).to eq([])
|
@@ -118,9 +118,6 @@ describe SendGrid4r::REST::Whitelabel::Domains do
|
|
118
118
|
expect(@domain1.dns.mail_cname).to be_a(
|
119
119
|
SendGrid4r::REST::Whitelabel::Domains::Record
|
120
120
|
)
|
121
|
-
expect(@domain1.dns.spf).to be_a(
|
122
|
-
SendGrid4r::REST::Whitelabel::Domains::Record
|
123
|
-
)
|
124
121
|
expect(@domain1.dns.dkim1).to be_a(
|
125
122
|
SendGrid4r::REST::Whitelabel::Domains::Record
|
126
123
|
)
|
@@ -146,9 +143,6 @@ describe SendGrid4r::REST::Whitelabel::Domains do
|
|
146
143
|
expect(@domain2.dns.subdomain_spf).to be_a(
|
147
144
|
SendGrid4r::REST::Whitelabel::Domains::Record
|
148
145
|
)
|
149
|
-
expect(@domain2.dns.domain_spf).to be_a(
|
150
|
-
SendGrid4r::REST::Whitelabel::Domains::Record
|
151
|
-
)
|
152
146
|
expect(@domain2.dns.dkim).to be_a(
|
153
147
|
SendGrid4r::REST::Whitelabel::Domains::Record
|
154
148
|
)
|
@@ -175,9 +169,6 @@ describe SendGrid4r::REST::Whitelabel::Domains do
|
|
175
169
|
expect(domain1.dns.mail_cname).to be_a(
|
176
170
|
SendGrid4r::REST::Whitelabel::Domains::Record
|
177
171
|
)
|
178
|
-
expect(domain1.dns.spf).to be_a(
|
179
|
-
SendGrid4r::REST::Whitelabel::Domains::Record
|
180
|
-
)
|
181
172
|
expect(domain1.dns.dkim1).to be_a(
|
182
173
|
SendGrid4r::REST::Whitelabel::Domains::Record
|
183
174
|
)
|
@@ -202,9 +193,6 @@ describe SendGrid4r::REST::Whitelabel::Domains do
|
|
202
193
|
expect(domain2.dns.subdomain_spf).to be_a(
|
203
194
|
SendGrid4r::REST::Whitelabel::Domains::Record
|
204
195
|
)
|
205
|
-
expect(domain2.dns.domain_spf).to be_a(
|
206
|
-
SendGrid4r::REST::Whitelabel::Domains::Record
|
207
|
-
)
|
208
196
|
expect(domain2.dns.dkim).to be_a(
|
209
197
|
SendGrid4r::REST::Whitelabel::Domains::Record
|
210
198
|
)
|
@@ -292,9 +280,6 @@ describe SendGrid4r::REST::Whitelabel::Domains do
|
|
292
280
|
expect(result1.validation_results.dkim2.valid).to be(
|
293
281
|
false
|
294
282
|
)
|
295
|
-
expect(result1.validation_results.spf.valid).to be(
|
296
|
-
false
|
297
|
-
)
|
298
283
|
result2 = @client.validate_wl_domain(id: @domain2.id)
|
299
284
|
expect(result2).to be_a(
|
300
285
|
SendGrid4r::REST::Whitelabel::Domains::Result
|
@@ -306,9 +291,6 @@ describe SendGrid4r::REST::Whitelabel::Domains do
|
|
306
291
|
expect(result2.validation_results.subdomain_spf.valid).to be(
|
307
292
|
false
|
308
293
|
)
|
309
|
-
expect(result2.validation_results.domain_spf.valid).to be(
|
310
|
-
false
|
311
|
-
)
|
312
294
|
expect(result2.validation_results.dkim.valid).to be(
|
313
295
|
false
|
314
296
|
)
|
@@ -382,12 +364,6 @@ describe SendGrid4r::REST::Whitelabel::Domains do
|
|
382
364
|
'"data": "u7.wl.sendgrid.net",'\
|
383
365
|
'"valid": true'\
|
384
366
|
'},'\
|
385
|
-
'"spf": {'\
|
386
|
-
'"host": "example.com",'\
|
387
|
-
'"type": "txt",'\
|
388
|
-
'"data": "v=spf1 include:u7.wl.sendgrid.net -all",'\
|
389
|
-
'"valid": true'\
|
390
|
-
'},'\
|
391
367
|
'"dkim1": {'\
|
392
368
|
'"host": "s1._domainkey.example.com",'\
|
393
369
|
'"type": "cname",'\
|
@@ -432,12 +408,6 @@ describe SendGrid4r::REST::Whitelabel::Domains do
|
|
432
408
|
'"host": "mail2.example.com",'\
|
433
409
|
'"data": "v=spf1 include:sendgrid.net ~all"'\
|
434
410
|
'},'\
|
435
|
-
'"domain_spf": {'\
|
436
|
-
'"valid": false,'\
|
437
|
-
'"type": "txt",'\
|
438
|
-
'"host": "example.com",'\
|
439
|
-
'"data": "v=spf1 include:mail2.example.com -all"'\
|
440
|
-
'},'\
|
441
411
|
'"dkim": {'\
|
442
412
|
'"valid": false,'\
|
443
413
|
'"type": "txt",'\
|
@@ -467,10 +437,6 @@ describe SendGrid4r::REST::Whitelabel::Domains do
|
|
467
437
|
'"dkim2": {'\
|
468
438
|
'"valid": true,'\
|
469
439
|
'"reason": null'\
|
470
|
-
'},'\
|
471
|
-
'"spf": {'\
|
472
|
-
'"valid": true,'\
|
473
|
-
'"reason": null'\
|
474
440
|
'}'\
|
475
441
|
'}'\
|
476
442
|
'}'
|
@@ -573,15 +539,6 @@ describe SendGrid4r::REST::Whitelabel::Domains do
|
|
573
539
|
expect(actual.dns.mail_cname.type).to eq('cname')
|
574
540
|
expect(actual.dns.mail_cname.data).to eq('u7.wl.sendgrid.net')
|
575
541
|
expect(actual.dns.mail_cname.valid).to eq(true)
|
576
|
-
expect(actual.dns.spf).to be_a(
|
577
|
-
SendGrid4r::REST::Whitelabel::Domains::Record
|
578
|
-
)
|
579
|
-
expect(actual.dns.spf.host).to eq('example.com')
|
580
|
-
expect(actual.dns.spf.type).to eq('txt')
|
581
|
-
expect(actual.dns.spf.data).to eq(
|
582
|
-
'v=spf1 include:u7.wl.sendgrid.net -all'
|
583
|
-
)
|
584
|
-
expect(actual.dns.spf.valid).to eq(true)
|
585
542
|
expect(actual.dns.dkim1).to be_a(
|
586
543
|
SendGrid4r::REST::Whitelabel::Domains::Record
|
587
544
|
)
|
@@ -629,15 +586,6 @@ describe SendGrid4r::REST::Whitelabel::Domains do
|
|
629
586
|
'v=spf1 include:sendgrid.net ~all'
|
630
587
|
)
|
631
588
|
expect(actual.dns.subdomain_spf.valid).to eq(false)
|
632
|
-
expect(actual.dns.domain_spf).to be_a(
|
633
|
-
SendGrid4r::REST::Whitelabel::Domains::Record
|
634
|
-
)
|
635
|
-
expect(actual.dns.domain_spf.host).to eq('example.com')
|
636
|
-
expect(actual.dns.domain_spf.type).to eq('txt')
|
637
|
-
expect(actual.dns.domain_spf.data).to eq(
|
638
|
-
'v=spf1 include:mail2.example.com -all'
|
639
|
-
)
|
640
|
-
expect(actual.dns.domain_spf.valid).to eq(false)
|
641
589
|
expect(actual.dns.dkim).to be_a(
|
642
590
|
SendGrid4r::REST::Whitelabel::Domains::Record
|
643
591
|
)
|
@@ -667,11 +615,6 @@ describe SendGrid4r::REST::Whitelabel::Domains do
|
|
667
615
|
)
|
668
616
|
expect(actual.validation_results.dkim2.valid).to be(true)
|
669
617
|
expect(actual.validation_results.dkim2.reason).to be(nil)
|
670
|
-
expect(actual.validation_results.spf).to be_a(
|
671
|
-
SendGrid4r::REST::Whitelabel::Domains::ValidationResult
|
672
|
-
)
|
673
|
-
expect(actual.validation_results.spf.valid).to be(true)
|
674
|
-
expect(actual.validation_results.spf.reason).to be(nil)
|
675
618
|
end
|
676
619
|
end
|
677
620
|
end
|
@@ -85,7 +85,7 @@ describe SendGrid4r::REST::Whitelabel::Links do
|
|
85
85
|
expect(@link2.subdomain).to eq(@subdomain_name + '2')
|
86
86
|
expect(@link2.username).to eq(@username)
|
87
87
|
expect(@link2.user_id).to be_a(Numeric)
|
88
|
-
expect(@link2.default).to eq(
|
88
|
+
expect(@link2.default).to eq(false)
|
89
89
|
expect(@link2.valid).to eq(false)
|
90
90
|
expect(@link2.legacy).to eq(false)
|
91
91
|
expect(@link2.dns.domain_cname).to be_a(
|
@@ -108,7 +108,7 @@ describe SendGrid4r::REST::Whitelabel::Links do
|
|
108
108
|
expect(link2.subdomain).to eq(@subdomain_name + '2')
|
109
109
|
expect(link2.username).to eq(@username)
|
110
110
|
expect(link2.user_id).to be_a(Numeric)
|
111
|
-
expect(link2.default).to eq(
|
111
|
+
expect(link2.default).to eq(false)
|
112
112
|
expect(link2.valid).to eq(false)
|
113
113
|
expect(link2.legacy).to eq(false)
|
114
114
|
expect(link2.dns.domain_cname).to be_a(
|
@@ -148,7 +148,7 @@ describe SendGrid4r::REST::Whitelabel::Links do
|
|
148
148
|
|
149
149
|
it '#delete_wl_link' do
|
150
150
|
begin
|
151
|
-
@client.delete_wl_link(id: @
|
151
|
+
@client.delete_wl_link(id: @link2.id)
|
152
152
|
rescue RestClient::ExceptionWithResponse => e
|
153
153
|
puts e.inspect
|
154
154
|
raise e
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sendgrid4r
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- awwa500@gmail.com
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-10-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|
@@ -132,7 +132,9 @@ files:
|
|
132
132
|
- lib/sendgrid4r/rest/asm/global_suppressions.rb
|
133
133
|
- lib/sendgrid4r/rest/asm/groups.rb
|
134
134
|
- lib/sendgrid4r/rest/asm/suppressions.rb
|
135
|
+
- lib/sendgrid4r/rest/bounces.rb
|
135
136
|
- lib/sendgrid4r/rest/campaigns/campaigns.rb
|
137
|
+
- lib/sendgrid4r/rest/cancel_scheduled_sends.rb
|
136
138
|
- lib/sendgrid4r/rest/categories/categories.rb
|
137
139
|
- lib/sendgrid4r/rest/contacts/custom_fields.rb
|
138
140
|
- lib/sendgrid4r/rest/contacts/lists.rb
|
@@ -155,10 +157,10 @@ files:
|
|
155
157
|
- lib/sendgrid4r/rest/stats/parse.rb
|
156
158
|
- lib/sendgrid4r/rest/stats/stats.rb
|
157
159
|
- lib/sendgrid4r/rest/stats/subuser.rb
|
158
|
-
- lib/sendgrid4r/rest/subusers
|
160
|
+
- lib/sendgrid4r/rest/subusers.rb
|
159
161
|
- lib/sendgrid4r/rest/templates/templates.rb
|
160
162
|
- lib/sendgrid4r/rest/templates/versions.rb
|
161
|
-
- lib/sendgrid4r/rest/users
|
163
|
+
- lib/sendgrid4r/rest/users.rb
|
162
164
|
- lib/sendgrid4r/rest/whitelabel/domains.rb
|
163
165
|
- lib/sendgrid4r/rest/whitelabel/ips.rb
|
164
166
|
- lib/sendgrid4r/rest/whitelabel/links.rb
|
@@ -174,7 +176,9 @@ files:
|
|
174
176
|
- spec/rest/asm/global_suppressions_spec.rb
|
175
177
|
- spec/rest/asm/groups_spec.rb
|
176
178
|
- spec/rest/asm/suppressions_spec.rb
|
179
|
+
- spec/rest/bounces_spec.rb
|
177
180
|
- spec/rest/campaigns/campaigns_spec.rb
|
181
|
+
- spec/rest/cancel_scheduled_sends_spec.rb
|
178
182
|
- spec/rest/categories/categories_spec.rb
|
179
183
|
- spec/rest/contacts/custom_fields_spec.rb
|
180
184
|
- spec/rest/contacts/lists_spec.rb
|
@@ -196,10 +200,10 @@ files:
|
|
196
200
|
- spec/rest/stats/parse_spec.rb
|
197
201
|
- spec/rest/stats/stats_spec.rb
|
198
202
|
- spec/rest/stats/subuser_spec.rb
|
199
|
-
- spec/rest/
|
203
|
+
- spec/rest/subusers_spec.rb
|
200
204
|
- spec/rest/templates/templates_spec.rb
|
201
205
|
- spec/rest/templates/versions_spec.rb
|
202
|
-
- spec/rest/
|
206
|
+
- spec/rest/users_spec.rb
|
203
207
|
- spec/rest/whitelabel/domains_spec.rb
|
204
208
|
- spec/rest/whitelabel/ips_spec.rb
|
205
209
|
- spec/rest/whitelabel/links_spec.rb
|
@@ -239,7 +243,9 @@ test_files:
|
|
239
243
|
- spec/rest/asm/global_suppressions_spec.rb
|
240
244
|
- spec/rest/asm/groups_spec.rb
|
241
245
|
- spec/rest/asm/suppressions_spec.rb
|
246
|
+
- spec/rest/bounces_spec.rb
|
242
247
|
- spec/rest/campaigns/campaigns_spec.rb
|
248
|
+
- spec/rest/cancel_scheduled_sends_spec.rb
|
243
249
|
- spec/rest/categories/categories_spec.rb
|
244
250
|
- spec/rest/contacts/custom_fields_spec.rb
|
245
251
|
- spec/rest/contacts/lists_spec.rb
|
@@ -261,10 +267,10 @@ test_files:
|
|
261
267
|
- spec/rest/stats/parse_spec.rb
|
262
268
|
- spec/rest/stats/stats_spec.rb
|
263
269
|
- spec/rest/stats/subuser_spec.rb
|
264
|
-
- spec/rest/
|
270
|
+
- spec/rest/subusers_spec.rb
|
265
271
|
- spec/rest/templates/templates_spec.rb
|
266
272
|
- spec/rest/templates/versions_spec.rb
|
267
|
-
- spec/rest/
|
273
|
+
- spec/rest/users_spec.rb
|
268
274
|
- spec/rest/whitelabel/domains_spec.rb
|
269
275
|
- spec/rest/whitelabel/ips_spec.rb
|
270
276
|
- spec/rest/whitelabel/links_spec.rb
|