sendgrid4r 1.3.0 → 1.4.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.
- 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
|