sendgrid4r 1.8.1 → 1.10.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/.rubocop.yml +6 -2
- data/README.md +1 -0
- data/lib/sendgrid4r/factory/campaign_factory.rb +18 -5
- data/lib/sendgrid4r/factory/condition_factory.rb +1 -1
- data/lib/sendgrid4r/factory/mail_factory.rb +57 -0
- data/lib/sendgrid4r/factory/segment_factory.rb +2 -5
- data/lib/sendgrid4r/factory/version_factory.rb +1 -1
- data/lib/sendgrid4r/rest/api.rb +48 -49
- data/lib/sendgrid4r/rest/api_keys_management/api_keys.rb +75 -0
- data/lib/sendgrid4r/rest/api_keys_management/permissions.rb +31 -0
- data/lib/sendgrid4r/rest/blocks.rb +49 -68
- data/lib/sendgrid4r/rest/bounces.rb +45 -64
- data/lib/sendgrid4r/rest/cancel_scheduled_sends.rb +53 -72
- data/lib/sendgrid4r/rest/categories.rb +31 -0
- data/lib/sendgrid4r/rest/email_activity.rb +72 -0
- data/lib/sendgrid4r/rest/invalid_emails.rb +50 -68
- data/lib/sendgrid4r/rest/ip_access_management.rb +86 -111
- data/lib/sendgrid4r/rest/ips/addresses.rb +50 -59
- data/lib/sendgrid4r/rest/ips/pools.rb +42 -53
- data/lib/sendgrid4r/rest/ips/warmup.rb +46 -55
- data/lib/sendgrid4r/rest/mail/address.rb +14 -0
- data/lib/sendgrid4r/rest/mail/attachment.rb +22 -0
- data/lib/sendgrid4r/rest/mail/content.rb +10 -0
- data/lib/sendgrid4r/rest/mail/mail.rb +28 -0
- data/lib/sendgrid4r/rest/mail/mail_settings.rb +62 -0
- data/lib/sendgrid4r/rest/mail/params.rb +64 -0
- data/lib/sendgrid4r/rest/mail/personalization.rb +33 -0
- data/lib/sendgrid4r/rest/mail/tracking_settings.rb +74 -0
- data/lib/sendgrid4r/rest/{contacts → marketing_campaigns/contacts}/custom_fields.rb +12 -27
- data/lib/sendgrid4r/rest/{contacts → marketing_campaigns/contacts}/lists.rb +20 -34
- data/lib/sendgrid4r/rest/marketing_campaigns/contacts/recipients.rb +134 -0
- data/lib/sendgrid4r/rest/{contacts → marketing_campaigns/contacts}/reserved_fields.rb +6 -9
- data/lib/sendgrid4r/rest/marketing_campaigns/contacts/segments.rb +86 -0
- data/lib/sendgrid4r/rest/marketing_campaigns/marketing_campaigns.rb +119 -0
- data/lib/sendgrid4r/rest/marketing_campaigns/senders.rb +101 -0
- data/lib/sendgrid4r/rest/request.rb +61 -63
- data/lib/sendgrid4r/rest/settings/enforced_tls.rb +23 -26
- data/lib/sendgrid4r/rest/settings/mail.rb +167 -183
- data/lib/sendgrid4r/rest/settings/partner.rb +33 -36
- data/lib/sendgrid4r/rest/settings/settings.rb +17 -22
- data/lib/sendgrid4r/rest/settings/tracking.rb +97 -107
- data/lib/sendgrid4r/rest/sm/global_unsubscribes.rb +52 -60
- data/lib/sendgrid4r/rest/sm/groups.rb +52 -58
- data/lib/sendgrid4r/rest/sm/sm.rb +15 -17
- data/lib/sendgrid4r/rest/sm/suppressions.rb +50 -67
- data/lib/sendgrid4r/rest/spam_reports.rb +49 -69
- data/lib/sendgrid4r/rest/stats/advanced.rb +100 -102
- data/lib/sendgrid4r/rest/stats/category.rb +31 -33
- data/lib/sendgrid4r/rest/stats/global.rb +17 -19
- data/lib/sendgrid4r/rest/stats/parse.rb +18 -20
- data/lib/sendgrid4r/rest/stats/stats.rb +59 -69
- data/lib/sendgrid4r/rest/stats/subuser.rb +70 -32
- data/lib/sendgrid4r/rest/subusers.rb +106 -134
- data/lib/sendgrid4r/rest/transactional_templates/templates.rb +63 -0
- data/lib/sendgrid4r/rest/transactional_templates/versions.rb +90 -0
- data/lib/sendgrid4r/rest/users.rb +125 -57
- data/lib/sendgrid4r/rest/webhooks/event.rb +36 -42
- data/lib/sendgrid4r/rest/webhooks/parse.rb +28 -37
- data/lib/sendgrid4r/rest/whitelabel/domains.rb +176 -222
- data/lib/sendgrid4r/rest/whitelabel/ips.rb +107 -128
- data/lib/sendgrid4r/rest/whitelabel/links.rb +131 -167
- data/lib/sendgrid4r/version.rb +1 -1
- data/lib/sendgrid4r.rb +23 -13
- data/sendgrid4r.gemspec +1 -1
- data/spec/client_spec.rb +12 -1
- data/spec/factory/campaign_factory_spec.rb +75 -35
- data/spec/factory/condition_factory_spec.rb +19 -18
- data/spec/factory/segment_factory_spec.rb +28 -21
- data/spec/factory/version_factory_spec.rb +28 -27
- data/spec/photo.jpg +0 -0
- data/spec/rest/api_keys_management/api_keys_spec.rb +174 -0
- data/spec/rest/api_keys_management/permissions_spec.rb +54 -0
- data/spec/rest/blocks_spec.rb +78 -106
- data/spec/rest/bounces_spec.rb +91 -118
- data/spec/rest/cancel_scheduled_sends_spec.rb +94 -149
- data/spec/rest/categories_spec.rb +77 -0
- data/spec/rest/email_activity_spec.rb +151 -0
- data/spec/rest/invalid_emails_spec.rb +85 -119
- data/spec/rest/ip_access_management_spec.rb +157 -195
- data/spec/rest/ips/addresses_spec.rb +94 -122
- data/spec/rest/ips/pools_spec.rb +84 -112
- data/spec/rest/ips/warmup_spec.rb +63 -71
- data/spec/rest/mail/address_spec.rb +28 -0
- data/spec/rest/mail/attachment_spec.rb +48 -0
- data/spec/rest/mail/content_spec.rb +32 -0
- data/spec/rest/mail/mail_settings_spec.rb +51 -0
- data/spec/rest/mail/mail_spec.rb +136 -0
- data/spec/rest/mail/params_spec.rb +152 -0
- data/spec/rest/mail/personalization_spec.rb +66 -0
- data/spec/rest/mail/tracking_settings_spec.rb +63 -0
- data/spec/rest/marketing_campaigns/contacts/custom_fields_spec.rb +146 -0
- data/spec/rest/marketing_campaigns/contacts/lists_spec.rb +307 -0
- data/spec/rest/marketing_campaigns/contacts/recipients_spec.rb +331 -0
- data/spec/rest/marketing_campaigns/contacts/reserved_fields_spec.rb +119 -0
- data/spec/rest/marketing_campaigns/contacts/segments_spec.rb +268 -0
- data/spec/rest/marketing_campaigns/marketing_campaigns_spec.rb +427 -0
- data/spec/rest/marketing_campaigns/senders_spec.rb +230 -0
- data/spec/rest/settings/enforced_tls_spec.rb +38 -54
- data/spec/rest/settings/mail_spec.rb +227 -330
- data/spec/rest/settings/partner_spec.rb +40 -59
- data/spec/rest/settings/settings_spec.rb +44 -42
- data/spec/rest/settings/tracking_spec.rb +130 -189
- data/spec/rest/sm/global_unsubscribes_spec.rb +47 -72
- data/spec/rest/sm/groups_spec.rb +88 -123
- data/spec/rest/sm/sm_spec.rb +32 -30
- data/spec/rest/sm/suppressions_spec.rb +105 -140
- data/spec/rest/spam_reports_spec.rb +81 -109
- data/spec/rest/stats/advanced_spec.rb +67 -125
- data/spec/rest/stats/category_spec.rb +27 -45
- data/spec/rest/stats/global_spec.rb +34 -42
- data/spec/rest/stats/parse_spec.rb +32 -30
- data/spec/rest/stats/stats_spec.rb +174 -172
- data/spec/rest/stats/subuser_spec.rb +97 -57
- data/spec/rest/subusers_spec.rb +156 -209
- data/spec/rest/transactional_templates/templates_spec.rb +199 -0
- data/spec/rest/transactional_templates/versions_spec.rb +228 -0
- data/spec/rest/users_spec.rb +176 -91
- data/spec/rest/webhooks/event_spec.rb +59 -85
- data/spec/rest/webhooks/parse_spec.rb +51 -71
- data/spec/rest/whitelabel/domains_spec.rb +333 -513
- data/spec/rest/whitelabel/ips_spec.rb +109 -147
- data/spec/rest/whitelabel/links_spec.rb +181 -265
- metadata +70 -40
- data/lib/sendgrid4r/rest/api_keys/api_keys.rb +0 -80
- data/lib/sendgrid4r/rest/api_keys/permissions.rb +0 -33
- data/lib/sendgrid4r/rest/campaigns/campaigns.rb +0 -126
- data/lib/sendgrid4r/rest/categories/categories.rb +0 -43
- data/lib/sendgrid4r/rest/contacts/recipients.rb +0 -150
- data/lib/sendgrid4r/rest/contacts/segments.rb +0 -97
- data/lib/sendgrid4r/rest/email_activity/email_activity.rb +0 -81
- data/lib/sendgrid4r/rest/templates/templates.rb +0 -69
- data/lib/sendgrid4r/rest/templates/versions.rb +0 -95
- data/spec/rest/api_keys/api_keys_spec.rb +0 -210
- data/spec/rest/api_keys/permissions_spec.rb +0 -65
- data/spec/rest/campaigns/campaigns_spec.rb +0 -492
- data/spec/rest/categories/categories_spec.rb +0 -96
- data/spec/rest/contacts/custom_fields_spec.rb +0 -174
- data/spec/rest/contacts/lists_spec.rb +0 -372
- data/spec/rest/contacts/recipients_spec.rb +0 -343
- data/spec/rest/contacts/reserved_fields_spec.rb +0 -146
- data/spec/rest/contacts/segments_spec.rb +0 -307
- data/spec/rest/email_activity/email_activity_spec.rb +0 -179
- data/spec/rest/templates/templates_spec.rb +0 -222
- data/spec/rest/templates/versions_spec.rb +0 -252
@@ -1,25 +1,25 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
require File.dirname(__FILE__) + '/../../spec_helper'
|
3
3
|
|
4
|
-
|
5
|
-
describe
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
4
|
+
module SendGrid4r::REST::Stats
|
5
|
+
describe Advanced do
|
6
|
+
describe 'integration test', :it do
|
7
|
+
before do
|
8
|
+
Dotenv.load
|
9
|
+
@client = SendGrid4r::Client.new(api_key: ENV['SILVER_API_KEY'])
|
10
|
+
end
|
10
11
|
|
11
|
-
|
12
|
-
|
13
|
-
begin
|
12
|
+
context 'without block call' do
|
13
|
+
it '#get_geo_stats with mandatory params' do
|
14
14
|
top_stats = @client.get_geo_stats(start_date: '2015-01-01')
|
15
15
|
expect(top_stats).to be_a(Array)
|
16
16
|
top_stats.each do |top_stat|
|
17
|
-
expect(top_stat).to be_a(
|
17
|
+
expect(top_stat).to be_a(TopStat)
|
18
18
|
expect(top_stat.date).to be_a(String)
|
19
19
|
expect(top_stat.stats).to be_a(Array)
|
20
20
|
top_stat.stats.each do |stat|
|
21
|
-
expect(stat).to be_a(
|
22
|
-
expect(stat.metrics).to be_a(
|
21
|
+
expect(stat).to be_a(Stat)
|
22
|
+
expect(stat.metrics).to be_a(Metric)
|
23
23
|
expect(stat.metrics.clicks.nil?).to be(false)
|
24
24
|
expect(stat.metrics.opens.nil?).to be(false)
|
25
25
|
expect(stat.metrics.unique_clicks.nil?).to be(false)
|
@@ -28,183 +28,143 @@ describe SendGrid4r::REST::Stats::Advanced do
|
|
28
28
|
expect(stat.type).to eq('country')
|
29
29
|
end
|
30
30
|
end
|
31
|
-
rescue RestClient::ExceptionWithResponse => e
|
32
|
-
puts e.inspect
|
33
|
-
raise e
|
34
31
|
end
|
35
|
-
end
|
36
32
|
|
37
|
-
|
38
|
-
begin
|
33
|
+
it '#get_geo_stats with all params' do
|
39
34
|
top_stats = @client.get_geo_stats(
|
40
35
|
start_date: '2015-01-01',
|
41
36
|
end_date: '2015-01-02',
|
42
|
-
aggregated_by:
|
43
|
-
country:
|
37
|
+
aggregated_by: :week,
|
38
|
+
country: :US
|
44
39
|
)
|
45
40
|
expect(top_stats).to be_a(Array)
|
46
41
|
top_stats.each do |top_stat|
|
47
|
-
expect(top_stat).to be_a(
|
42
|
+
expect(top_stat).to be_a(TopStat)
|
48
43
|
expect(top_stat.date).to be_a(String)
|
49
44
|
expect(top_stat.stats).to be_a(Array)
|
50
45
|
top_stat.stats.each do |stat|
|
51
|
-
expect(stat).to be_a(
|
52
|
-
expect(stat.metrics).to be_a(
|
46
|
+
expect(stat).to be_a(Stat)
|
47
|
+
expect(stat.metrics).to be_a(Metric)
|
53
48
|
end
|
54
49
|
end
|
55
|
-
rescue RestClient::ExceptionWithResponse => e
|
56
|
-
puts e.inspect
|
57
|
-
raise e
|
58
50
|
end
|
59
|
-
end
|
60
51
|
|
61
|
-
|
62
|
-
begin
|
52
|
+
it '#get_devices_stats with mandatory params' do
|
63
53
|
top_stats = @client.get_devices_stats(start_date: '2015-01-01')
|
64
54
|
expect(top_stats).to be_a(Array)
|
65
55
|
top_stats.each do |top_stat|
|
66
|
-
expect(top_stat).to be_a(
|
56
|
+
expect(top_stat).to be_a(TopStat)
|
67
57
|
expect(top_stat.date).to be_a(String)
|
68
58
|
expect(top_stat.stats).to be_a(Array)
|
69
59
|
top_stat.stats.each do |stat|
|
70
|
-
expect(stat).to be_a(
|
71
|
-
expect(stat.metrics).to be_a(
|
60
|
+
expect(stat).to be_a(Stat)
|
61
|
+
expect(stat.metrics).to be_a(Metric)
|
72
62
|
expect(stat.name).to be_a(String)
|
73
63
|
expect(stat.type).to eq('device')
|
74
64
|
end
|
75
65
|
end
|
76
|
-
rescue RestClient::ExceptionWithResponse => e
|
77
|
-
puts e.inspect
|
78
|
-
raise e
|
79
66
|
end
|
80
|
-
end
|
81
67
|
|
82
|
-
|
83
|
-
begin
|
68
|
+
it '#get_devices_stats with all params' do
|
84
69
|
top_stats = @client.get_devices_stats(
|
85
70
|
start_date: '2015-01-01',
|
86
71
|
end_date: '2015-01-02',
|
87
|
-
aggregated_by:
|
72
|
+
aggregated_by: :week
|
88
73
|
)
|
89
74
|
expect(top_stats).to be_a(Array)
|
90
75
|
top_stats.each do |top_stat|
|
91
|
-
expect(top_stat).to be_a(
|
76
|
+
expect(top_stat).to be_a(TopStat)
|
92
77
|
expect(top_stat.date).to be_a(String)
|
93
78
|
expect(top_stat.stats).to be_a(Array)
|
94
79
|
top_stat.stats.each do |stat|
|
95
|
-
expect(stat).to be_a(
|
96
|
-
expect(stat.metrics).to be_a(
|
80
|
+
expect(stat).to be_a(Stat)
|
81
|
+
expect(stat.metrics).to be_a(Metric)
|
97
82
|
end
|
98
83
|
end
|
99
|
-
rescue RestClient::ExceptionWithResponse => e
|
100
|
-
puts e.inspect
|
101
|
-
raise e
|
102
84
|
end
|
103
|
-
end
|
104
85
|
|
105
|
-
|
106
|
-
begin
|
86
|
+
it '#get_clients_stats with mandatory params' do
|
107
87
|
top_stats = @client.get_clients_stats(start_date: '2015-01-01')
|
108
88
|
expect(top_stats).to be_a(Array)
|
109
89
|
top_stats.each do |top_stat|
|
110
|
-
expect(top_stat).to be_a(
|
90
|
+
expect(top_stat).to be_a(TopStat)
|
111
91
|
expect(top_stat.date).to be_a(String)
|
112
92
|
expect(top_stat.stats).to be_a(Array)
|
113
93
|
top_stat.stats.each do |stat|
|
114
|
-
expect(stat).to be_a(
|
115
|
-
expect(stat.metrics).to be_a(
|
94
|
+
expect(stat).to be_a(Stat)
|
95
|
+
expect(stat.metrics).to be_a(Metric)
|
116
96
|
expect(stat.name).to be_a(String)
|
117
97
|
expect(stat.type).to eq('client')
|
118
98
|
end
|
119
99
|
end
|
120
|
-
rescue RestClient::ExceptionWithResponse => e
|
121
|
-
puts e.inspect
|
122
|
-
raise e
|
123
100
|
end
|
124
|
-
end
|
125
101
|
|
126
|
-
|
127
|
-
begin
|
102
|
+
it '#get_clients_stats with all params' do
|
128
103
|
top_stats = @client.get_clients_stats(
|
129
104
|
start_date: '2015-01-01',
|
130
105
|
end_date: '2015-01-02',
|
131
|
-
aggregated_by:
|
106
|
+
aggregated_by: :week
|
132
107
|
)
|
133
108
|
expect(top_stats).to be_a(Array)
|
134
109
|
top_stats.each do |top_stat|
|
135
|
-
expect(top_stat).to be_a(
|
110
|
+
expect(top_stat).to be_a(TopStat)
|
136
111
|
expect(top_stat.date).to be_a(String)
|
137
112
|
expect(top_stat.stats).to be_a(Array)
|
138
113
|
top_stat.stats.each do |stat|
|
139
|
-
expect(stat).to be_a(
|
140
|
-
expect(stat.metrics).to be_a(
|
114
|
+
expect(stat).to be_a(Stat)
|
115
|
+
expect(stat.metrics).to be_a(Metric)
|
141
116
|
end
|
142
117
|
end
|
143
|
-
rescue RestClient::ExceptionWithResponse => e
|
144
|
-
puts e.inspect
|
145
|
-
raise e
|
146
118
|
end
|
147
|
-
end
|
148
119
|
|
149
|
-
|
150
|
-
begin
|
120
|
+
it '#get_clients_type_stats with mandatory params' do
|
151
121
|
top_stats = @client.get_clients_type_stats(
|
152
122
|
start_date: '2015-01-01', client_type: 'webmail'
|
153
123
|
)
|
154
124
|
expect(top_stats).to be_a(Array)
|
155
125
|
top_stats.each do |top_stat|
|
156
|
-
expect(top_stat).to be_a(
|
126
|
+
expect(top_stat).to be_a(TopStat)
|
157
127
|
expect(top_stat.date).to be_a(String)
|
158
128
|
expect(top_stat.stats).to be_a(Array)
|
159
129
|
top_stat.stats.each do |stat|
|
160
|
-
expect(stat).to be_a(
|
161
|
-
expect(stat.metrics).to be_a(
|
130
|
+
expect(stat).to be_a(Stat)
|
131
|
+
expect(stat.metrics).to be_a(Metric)
|
162
132
|
expect(stat.name).to be_a(String)
|
163
133
|
expect(stat.type).to eq('client')
|
164
134
|
end
|
165
135
|
end
|
166
|
-
rescue RestClient::ExceptionWithResponse => e
|
167
|
-
puts e.inspect
|
168
|
-
raise e
|
169
136
|
end
|
170
|
-
end
|
171
137
|
|
172
|
-
|
173
|
-
begin
|
138
|
+
it '#get_clients_stats with all params' do
|
174
139
|
top_stats = @client.get_clients_type_stats(
|
175
140
|
start_date: '2015-01-01',
|
176
141
|
end_date: '2015-01-02',
|
177
|
-
aggregated_by:
|
178
|
-
client_type:
|
142
|
+
aggregated_by: :week,
|
143
|
+
client_type: :webmail
|
179
144
|
)
|
180
145
|
expect(top_stats).to be_a(Array)
|
181
146
|
top_stats.each do |top_stat|
|
182
|
-
expect(top_stat).to be_a(
|
147
|
+
expect(top_stat).to be_a(TopStat)
|
183
148
|
expect(top_stat.date).to be_a(String)
|
184
149
|
expect(top_stat.stats).to be_a(Array)
|
185
150
|
top_stat.stats.each do |stat|
|
186
|
-
expect(stat).to be_a(
|
187
|
-
expect(stat.metrics).to be_a(
|
151
|
+
expect(stat).to be_a(Stat)
|
152
|
+
expect(stat.metrics).to be_a(Metric)
|
188
153
|
end
|
189
154
|
end
|
190
|
-
rescue RestClient::ExceptionWithResponse => e
|
191
|
-
puts e.inspect
|
192
|
-
raise e
|
193
155
|
end
|
194
|
-
end
|
195
156
|
|
196
|
-
|
197
|
-
begin
|
157
|
+
it '#get_mailbox_providers_stats with mandatory params' do
|
198
158
|
top_stats =
|
199
159
|
@client.get_mailbox_providers_stats(start_date: '2015-01-01')
|
200
160
|
expect(top_stats).to be_a(Array)
|
201
161
|
top_stats.each do |top_stat|
|
202
|
-
expect(top_stat).to be_a(
|
162
|
+
expect(top_stat).to be_a(TopStat)
|
203
163
|
expect(top_stat.date).to be_a(String)
|
204
164
|
expect(top_stat.stats).to be_a(Array)
|
205
165
|
top_stat.stats.each do |stat|
|
206
|
-
expect(stat).to be_a(
|
207
|
-
expect(stat.metrics).to be_a(
|
166
|
+
expect(stat).to be_a(Stat)
|
167
|
+
expect(stat.metrics).to be_a(Metric)
|
208
168
|
expect(stat.metrics.blocks.nil?).to be(false)
|
209
169
|
expect(stat.metrics.bounces.nil?).to be(false)
|
210
170
|
expect(stat.metrics.clicks.nil?).to be(false)
|
@@ -219,78 +179,60 @@ describe SendGrid4r::REST::Stats::Advanced do
|
|
219
179
|
expect(stat.type).to eq('mailbox_provider')
|
220
180
|
end
|
221
181
|
end
|
222
|
-
rescue RestClient::ExceptionWithResponse => e
|
223
|
-
puts e.inspect
|
224
|
-
raise e
|
225
182
|
end
|
226
|
-
end
|
227
183
|
|
228
|
-
|
229
|
-
begin
|
184
|
+
it '#get_mailbox_providers_stats with all params' do
|
230
185
|
top_stats = @client.get_mailbox_providers_stats(
|
231
186
|
start_date: '2015-01-01',
|
232
187
|
end_date: '2015-01-02',
|
233
|
-
aggregated_by:
|
234
|
-
esps:
|
188
|
+
aggregated_by: :week,
|
189
|
+
esps: :sss
|
235
190
|
)
|
236
191
|
expect(top_stats).to be_a(Array)
|
237
192
|
top_stats.each do |top_stat|
|
238
|
-
expect(top_stat).to be_a(
|
193
|
+
expect(top_stat).to be_a(TopStat)
|
239
194
|
expect(top_stat.date).to be_a(String)
|
240
195
|
expect(top_stat.stats).to be_a(Array)
|
241
196
|
top_stat.stats.each do |stat|
|
242
|
-
expect(stat).to be_a(
|
243
|
-
expect(stat.metrics).to be_a(
|
197
|
+
expect(stat).to be_a(Stat)
|
198
|
+
expect(stat.metrics).to be_a(Metric)
|
244
199
|
end
|
245
200
|
end
|
246
|
-
rescue RestClient::ExceptionWithResponse => e
|
247
|
-
puts e.inspect
|
248
|
-
raise e
|
249
201
|
end
|
250
|
-
end
|
251
202
|
|
252
|
-
|
253
|
-
begin
|
203
|
+
it '#get_browsers_stats with mandatory params' do
|
254
204
|
top_stats = @client.get_browsers_stats(start_date: '2015-01-01')
|
255
205
|
expect(top_stats).to be_a(Array)
|
256
206
|
top_stats.each do |top_stat|
|
257
|
-
expect(top_stat).to be_a(
|
207
|
+
expect(top_stat).to be_a(TopStat)
|
258
208
|
expect(top_stat.date).to be_a(String)
|
259
209
|
expect(top_stat.stats).to be_a(Array)
|
260
210
|
top_stat.stats.each do |stat|
|
261
|
-
expect(stat).to be_a(
|
262
|
-
expect(stat.metrics).to be_a(
|
211
|
+
expect(stat).to be_a(Stat)
|
212
|
+
expect(stat.metrics).to be_a(Metric)
|
263
213
|
expect(stat.name).to eq(nil)
|
264
214
|
expect(stat.type).to eq('browser')
|
265
215
|
end
|
266
216
|
end
|
267
|
-
rescue RestClient::ExceptionWithResponse => e
|
268
|
-
puts e.inspect
|
269
|
-
raise e
|
270
217
|
end
|
271
|
-
end
|
272
218
|
|
273
|
-
|
274
|
-
begin
|
219
|
+
it '#get_browsers_stats with all params' do
|
275
220
|
top_stats = @client.get_browsers_stats(
|
276
221
|
start_date: '2015-01-01',
|
277
|
-
end_date: '2015-
|
278
|
-
aggregated_by:
|
279
|
-
browsers:
|
222
|
+
end_date: '2015-09-02',
|
223
|
+
aggregated_by: :week,
|
224
|
+
browsers: :chrome
|
280
225
|
)
|
281
226
|
expect(top_stats).to be_a(Array)
|
282
227
|
top_stats.each do |top_stat|
|
283
|
-
expect(top_stat).to be_a(
|
228
|
+
expect(top_stat).to be_a(TopStat)
|
284
229
|
expect(top_stat.date).to be_a(String)
|
285
230
|
expect(top_stat.stats).to be_a(Array)
|
286
231
|
top_stat.stats.each do |stat|
|
287
|
-
expect(stat).to be_a(
|
288
|
-
expect(stat.metrics).to be_a(
|
232
|
+
expect(stat).to be_a(Stat)
|
233
|
+
expect(stat.metrics).to be_a(Metric)
|
289
234
|
end
|
290
235
|
end
|
291
|
-
rescue RestClient::ExceptionWithResponse => e
|
292
|
-
puts e.inspect
|
293
|
-
raise e
|
294
236
|
end
|
295
237
|
end
|
296
238
|
end
|
@@ -1,27 +1,27 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
require File.dirname(__FILE__) + '/../../spec_helper'
|
3
3
|
|
4
|
-
|
5
|
-
describe
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
4
|
+
module SendGrid4r::REST::Stats
|
5
|
+
describe Category do
|
6
|
+
describe 'integration test', :it do
|
7
|
+
before do
|
8
|
+
Dotenv.load
|
9
|
+
@client = SendGrid4r::Client.new(api_key: ENV['SILVER_API_KEY'])
|
10
|
+
end
|
10
11
|
|
11
|
-
|
12
|
-
|
13
|
-
begin
|
12
|
+
context 'without block call' do
|
13
|
+
it '#get_categories_stats with mandatory params' do
|
14
14
|
top_stats = @client.get_categories_stats(
|
15
15
|
start_date: '2015-01-01',
|
16
16
|
categories: 'yui'
|
17
17
|
)
|
18
18
|
expect(top_stats).to be_a(Array)
|
19
19
|
top_stats.each do |top_stat|
|
20
|
-
expect(top_stat).to be_a(
|
20
|
+
expect(top_stat).to be_a(TopStat)
|
21
21
|
expect(top_stat.stats.length).to eq(1)
|
22
22
|
top_stat.stats.each do |stat|
|
23
|
-
expect(stat).to be_a(
|
24
|
-
expect(stat.metrics).to be_a(
|
23
|
+
expect(stat).to be_a(Stat)
|
24
|
+
expect(stat.metrics).to be_a(Metric)
|
25
25
|
expect(stat.metrics.blocks.nil?).to be(false)
|
26
26
|
expect(stat.metrics.bounce_drops.nil?).to be(false)
|
27
27
|
expect(stat.metrics.bounces.nil?).to be(false)
|
@@ -42,44 +42,34 @@ describe SendGrid4r::REST::Stats::Category do
|
|
42
42
|
expect(stat.type).to eq('category')
|
43
43
|
end
|
44
44
|
end
|
45
|
-
rescue RestClient::ExceptionWithResponse => e
|
46
|
-
puts e.inspect
|
47
|
-
raise e
|
48
45
|
end
|
49
|
-
end
|
50
46
|
|
51
|
-
|
52
|
-
begin
|
47
|
+
it '#get_category_stats with all params' do
|
53
48
|
top_stats = @client.get_categories_stats(
|
54
49
|
start_date: '2015-01-01',
|
55
50
|
end_date: '2015-01-02',
|
56
|
-
aggregated_by:
|
51
|
+
aggregated_by: :week,
|
57
52
|
categories: 'yui'
|
58
53
|
)
|
59
54
|
expect(top_stats).to be_a(Array)
|
60
55
|
top_stats.each do |top_stat|
|
61
|
-
expect(top_stat).to be_a(
|
56
|
+
expect(top_stat).to be_a(TopStat)
|
62
57
|
expect(top_stat.stats.length).to eq(1)
|
63
58
|
top_stat.stats.each do |stat|
|
64
|
-
expect(stat).to be_a(
|
65
|
-
expect(stat.metrics).to be_a(
|
59
|
+
expect(stat).to be_a(Stat)
|
60
|
+
expect(stat.metrics).to be_a(Metric)
|
66
61
|
end
|
67
62
|
end
|
68
|
-
rescue RestClient::ExceptionWithResponse => e
|
69
|
-
puts e.inspect
|
70
|
-
raise e
|
71
63
|
end
|
72
|
-
end
|
73
64
|
|
74
|
-
|
75
|
-
begin
|
65
|
+
it '#get_categories_stats_sums with mandatory params' do
|
76
66
|
top_stat =
|
77
67
|
@client.get_categories_stats_sums(start_date: '2015-01-01')
|
78
|
-
expect(top_stat).to be_a(
|
68
|
+
expect(top_stat).to be_a(TopStat)
|
79
69
|
expect(top_stat.date).to eq('2015-01-01')
|
80
70
|
top_stat.stats.each do |stat|
|
81
|
-
expect(stat).to be_a(
|
82
|
-
expect(stat.metrics).to be_a(
|
71
|
+
expect(stat).to be_a(Stat)
|
72
|
+
expect(stat.metrics).to be_a(Metric)
|
83
73
|
expect(stat.metrics.blocks.nil?).to be(false)
|
84
74
|
expect(stat.metrics.bounce_drops.nil?).to be(false)
|
85
75
|
expect(stat.metrics.bounces.nil?).to be(false)
|
@@ -99,31 +89,23 @@ describe SendGrid4r::REST::Stats::Category do
|
|
99
89
|
expect(stat.name).to be_a(String)
|
100
90
|
expect(stat.type).to eq('category')
|
101
91
|
end
|
102
|
-
rescue RestClient::ExceptionWithResponse => e
|
103
|
-
puts e.inspect
|
104
|
-
raise e
|
105
92
|
end
|
106
|
-
end
|
107
93
|
|
108
|
-
|
109
|
-
begin
|
94
|
+
it '#get_categories_stats_sums with all params' do
|
110
95
|
top_stat = @client.get_categories_stats_sums(
|
111
96
|
start_date: '2015-01-01',
|
112
97
|
end_date: '2015-01-02',
|
113
|
-
sort_by_metric:
|
114
|
-
sort_by_direction:
|
98
|
+
sort_by_metric: :opens,
|
99
|
+
sort_by_direction: :desc,
|
115
100
|
limit: 5,
|
116
101
|
offset: 0
|
117
102
|
)
|
118
|
-
expect(top_stat).to be_a(
|
103
|
+
expect(top_stat).to be_a(TopStat)
|
119
104
|
expect(top_stat.stats.length).to eq(0)
|
120
105
|
top_stat.stats.each do |stat|
|
121
|
-
expect(stat).to be_a(
|
122
|
-
expect(stat.metrics_a).to be(
|
106
|
+
expect(stat).to be_a(Stat)
|
107
|
+
expect(stat.metrics_a).to be(Metric)
|
123
108
|
end
|
124
|
-
rescue RestClient::ExceptionWithResponse => e
|
125
|
-
puts e.inspect
|
126
|
-
raise e
|
127
109
|
end
|
128
110
|
end
|
129
111
|
end
|
@@ -1,23 +1,23 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
require File.dirname(__FILE__) + '/../../spec_helper'
|
3
3
|
|
4
|
-
|
5
|
-
describe
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
4
|
+
module SendGrid4r::REST::Stats
|
5
|
+
describe Global do
|
6
|
+
describe 'integration test', :it do
|
7
|
+
before do
|
8
|
+
Dotenv.load
|
9
|
+
@client = SendGrid4r::Client.new(api_key: ENV['SILVER_API_KEY'])
|
10
|
+
end
|
10
11
|
|
11
|
-
|
12
|
-
|
13
|
-
begin
|
12
|
+
context 'without block call' do
|
13
|
+
it '#get_global_stats with mandatory params' do
|
14
14
|
top_stats = @client.get_global_stats(start_date: '2015-01-01')
|
15
15
|
expect(top_stats).to be_a(Array)
|
16
16
|
top_stats.each do |top_stat|
|
17
|
-
expect(top_stat).to be_a(
|
17
|
+
expect(top_stat).to be_a(TopStat)
|
18
18
|
top_stat.stats.each do |stat|
|
19
|
-
expect(stat).to be_a(
|
20
|
-
expect(stat.metrics).to be_a(
|
19
|
+
expect(stat).to be_a(Stat)
|
20
|
+
expect(stat.metrics).to be_a(Metric)
|
21
21
|
expect(stat.metrics.blocks.nil?).to be(false)
|
22
22
|
expect(stat.metrics.bounce_drops.nil?).to be(false)
|
23
23
|
expect(stat.metrics.bounces.nil?).to be(false)
|
@@ -36,52 +36,44 @@ describe SendGrid4r::REST::Stats::Global do
|
|
36
36
|
expect(stat.metrics.unsubscribes.nil?).to be(false)
|
37
37
|
end
|
38
38
|
end
|
39
|
-
rescue RestClient::ExceptionWithResponse => e
|
40
|
-
puts e.inspect
|
41
|
-
raise e
|
42
39
|
end
|
43
|
-
end
|
44
40
|
|
45
|
-
|
46
|
-
begin
|
41
|
+
it '#get_global_stats with all params' do
|
47
42
|
top_stats = @client.get_global_stats(
|
48
43
|
start_date: '2015-01-01',
|
49
44
|
end_date: '2015-01-01',
|
50
|
-
aggregated_by:
|
45
|
+
aggregated_by: :week
|
51
46
|
)
|
52
47
|
expect(top_stats).to be_a(Array)
|
53
48
|
top_stats.each do |top_stat|
|
54
|
-
expect(top_stat).to be_a(
|
49
|
+
expect(top_stat).to be_a(TopStat)
|
55
50
|
stats = top_stat.stats
|
56
51
|
stats.each do |stat|
|
57
|
-
expect(stat).to be_a(
|
58
|
-
expect(stat.metrics).to be_a(
|
52
|
+
expect(stat).to be_a(Stat)
|
53
|
+
expect(stat.metrics).to be_a(Metric)
|
59
54
|
end
|
60
55
|
end
|
61
|
-
rescue RestClient::ExceptionWithResponse => e
|
62
|
-
puts e.inspect
|
63
|
-
raise e
|
64
56
|
end
|
65
57
|
end
|
66
|
-
end
|
67
58
|
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
59
|
+
context 'with block call' do
|
60
|
+
it '#get_global_stats with all params' do
|
61
|
+
@client.get_global_stats(
|
62
|
+
start_date: '2015-01-01',
|
63
|
+
end_date: '2015-01-01',
|
64
|
+
aggregated_by: :week
|
65
|
+
) do |resp, req, res|
|
66
|
+
resp =
|
67
|
+
SendGrid4r::REST::Stats.create_top_stats(
|
68
|
+
JSON.parse(resp)
|
69
|
+
)
|
70
|
+
expect(resp).to be_a(Array)
|
71
|
+
resp.each do |stat|
|
72
|
+
expect(stat).to be_a(TopStat)
|
73
|
+
end
|
74
|
+
expect(req).to be_a(RestClient::Request)
|
75
|
+
expect(res).to be_a(Net::HTTPOK)
|
82
76
|
end
|
83
|
-
expect(req).to be_a(RestClient::Request)
|
84
|
-
expect(res).to be_a(Net::HTTPOK)
|
85
77
|
end
|
86
78
|
end
|
87
79
|
end
|
@@ -1,40 +1,42 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
require File.dirname(__FILE__) + '/../../spec_helper'
|
3
3
|
|
4
|
-
|
5
|
-
describe
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
4
|
+
module SendGrid4r::REST::Stats
|
5
|
+
describe Parse do
|
6
|
+
describe 'integration test', :it do
|
7
|
+
before do
|
8
|
+
Dotenv.load
|
9
|
+
@client = SendGrid4r::Client.new(api_key: ENV['SILVER_API_KEY'])
|
10
|
+
end
|
10
11
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
12
|
+
context 'without block call' do
|
13
|
+
it '#get_parse_stats with mandatory params' do
|
14
|
+
top_stats = @client.get_parse_stats(start_date: '2015-01-01')
|
15
|
+
expect(top_stats).to be_a(Array)
|
16
|
+
top_stats.each do |top_stat|
|
17
|
+
expect(top_stat).to be_a(TopStat)
|
18
|
+
top_stat.stats.each do |stat|
|
19
|
+
expect(stat).to be_a(Stat)
|
20
|
+
expect(stat.metrics.class).to be(Metric)
|
21
|
+
expect(stat.metrics.received.nil?).to be(false)
|
22
|
+
expect(stat.metrics.blocks.nil?).to be(true)
|
23
|
+
end
|
22
24
|
end
|
23
25
|
end
|
24
|
-
end
|
25
26
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
27
|
+
it '#get_parse_stats with all params' do
|
28
|
+
top_stats = @client.get_parse_stats(
|
29
|
+
start_date: '2015-01-01',
|
30
|
+
end_date: '2015-01-02',
|
31
|
+
aggregated_by: :week
|
32
|
+
)
|
33
|
+
expect(top_stats).to be_a(Array)
|
34
|
+
top_stats.each do |top_stat|
|
35
|
+
expect(top_stat).to be_a(TopStat)
|
36
|
+
top_stat.stats.each do |stat|
|
37
|
+
expect(stat).to be_a(Stat)
|
38
|
+
expect(stat.metrics).to be_a(Metric)
|
39
|
+
end
|
38
40
|
end
|
39
41
|
end
|
40
42
|
end
|