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.
Files changed (145) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +6 -2
  3. data/README.md +1 -0
  4. data/lib/sendgrid4r/factory/campaign_factory.rb +18 -5
  5. data/lib/sendgrid4r/factory/condition_factory.rb +1 -1
  6. data/lib/sendgrid4r/factory/mail_factory.rb +57 -0
  7. data/lib/sendgrid4r/factory/segment_factory.rb +2 -5
  8. data/lib/sendgrid4r/factory/version_factory.rb +1 -1
  9. data/lib/sendgrid4r/rest/api.rb +48 -49
  10. data/lib/sendgrid4r/rest/api_keys_management/api_keys.rb +75 -0
  11. data/lib/sendgrid4r/rest/api_keys_management/permissions.rb +31 -0
  12. data/lib/sendgrid4r/rest/blocks.rb +49 -68
  13. data/lib/sendgrid4r/rest/bounces.rb +45 -64
  14. data/lib/sendgrid4r/rest/cancel_scheduled_sends.rb +53 -72
  15. data/lib/sendgrid4r/rest/categories.rb +31 -0
  16. data/lib/sendgrid4r/rest/email_activity.rb +72 -0
  17. data/lib/sendgrid4r/rest/invalid_emails.rb +50 -68
  18. data/lib/sendgrid4r/rest/ip_access_management.rb +86 -111
  19. data/lib/sendgrid4r/rest/ips/addresses.rb +50 -59
  20. data/lib/sendgrid4r/rest/ips/pools.rb +42 -53
  21. data/lib/sendgrid4r/rest/ips/warmup.rb +46 -55
  22. data/lib/sendgrid4r/rest/mail/address.rb +14 -0
  23. data/lib/sendgrid4r/rest/mail/attachment.rb +22 -0
  24. data/lib/sendgrid4r/rest/mail/content.rb +10 -0
  25. data/lib/sendgrid4r/rest/mail/mail.rb +28 -0
  26. data/lib/sendgrid4r/rest/mail/mail_settings.rb +62 -0
  27. data/lib/sendgrid4r/rest/mail/params.rb +64 -0
  28. data/lib/sendgrid4r/rest/mail/personalization.rb +33 -0
  29. data/lib/sendgrid4r/rest/mail/tracking_settings.rb +74 -0
  30. data/lib/sendgrid4r/rest/{contacts → marketing_campaigns/contacts}/custom_fields.rb +12 -27
  31. data/lib/sendgrid4r/rest/{contacts → marketing_campaigns/contacts}/lists.rb +20 -34
  32. data/lib/sendgrid4r/rest/marketing_campaigns/contacts/recipients.rb +134 -0
  33. data/lib/sendgrid4r/rest/{contacts → marketing_campaigns/contacts}/reserved_fields.rb +6 -9
  34. data/lib/sendgrid4r/rest/marketing_campaigns/contacts/segments.rb +86 -0
  35. data/lib/sendgrid4r/rest/marketing_campaigns/marketing_campaigns.rb +119 -0
  36. data/lib/sendgrid4r/rest/marketing_campaigns/senders.rb +101 -0
  37. data/lib/sendgrid4r/rest/request.rb +61 -63
  38. data/lib/sendgrid4r/rest/settings/enforced_tls.rb +23 -26
  39. data/lib/sendgrid4r/rest/settings/mail.rb +167 -183
  40. data/lib/sendgrid4r/rest/settings/partner.rb +33 -36
  41. data/lib/sendgrid4r/rest/settings/settings.rb +17 -22
  42. data/lib/sendgrid4r/rest/settings/tracking.rb +97 -107
  43. data/lib/sendgrid4r/rest/sm/global_unsubscribes.rb +52 -60
  44. data/lib/sendgrid4r/rest/sm/groups.rb +52 -58
  45. data/lib/sendgrid4r/rest/sm/sm.rb +15 -17
  46. data/lib/sendgrid4r/rest/sm/suppressions.rb +50 -67
  47. data/lib/sendgrid4r/rest/spam_reports.rb +49 -69
  48. data/lib/sendgrid4r/rest/stats/advanced.rb +100 -102
  49. data/lib/sendgrid4r/rest/stats/category.rb +31 -33
  50. data/lib/sendgrid4r/rest/stats/global.rb +17 -19
  51. data/lib/sendgrid4r/rest/stats/parse.rb +18 -20
  52. data/lib/sendgrid4r/rest/stats/stats.rb +59 -69
  53. data/lib/sendgrid4r/rest/stats/subuser.rb +70 -32
  54. data/lib/sendgrid4r/rest/subusers.rb +106 -134
  55. data/lib/sendgrid4r/rest/transactional_templates/templates.rb +63 -0
  56. data/lib/sendgrid4r/rest/transactional_templates/versions.rb +90 -0
  57. data/lib/sendgrid4r/rest/users.rb +125 -57
  58. data/lib/sendgrid4r/rest/webhooks/event.rb +36 -42
  59. data/lib/sendgrid4r/rest/webhooks/parse.rb +28 -37
  60. data/lib/sendgrid4r/rest/whitelabel/domains.rb +176 -222
  61. data/lib/sendgrid4r/rest/whitelabel/ips.rb +107 -128
  62. data/lib/sendgrid4r/rest/whitelabel/links.rb +131 -167
  63. data/lib/sendgrid4r/version.rb +1 -1
  64. data/lib/sendgrid4r.rb +23 -13
  65. data/sendgrid4r.gemspec +1 -1
  66. data/spec/client_spec.rb +12 -1
  67. data/spec/factory/campaign_factory_spec.rb +75 -35
  68. data/spec/factory/condition_factory_spec.rb +19 -18
  69. data/spec/factory/segment_factory_spec.rb +28 -21
  70. data/spec/factory/version_factory_spec.rb +28 -27
  71. data/spec/photo.jpg +0 -0
  72. data/spec/rest/api_keys_management/api_keys_spec.rb +174 -0
  73. data/spec/rest/api_keys_management/permissions_spec.rb +54 -0
  74. data/spec/rest/blocks_spec.rb +78 -106
  75. data/spec/rest/bounces_spec.rb +91 -118
  76. data/spec/rest/cancel_scheduled_sends_spec.rb +94 -149
  77. data/spec/rest/categories_spec.rb +77 -0
  78. data/spec/rest/email_activity_spec.rb +151 -0
  79. data/spec/rest/invalid_emails_spec.rb +85 -119
  80. data/spec/rest/ip_access_management_spec.rb +157 -195
  81. data/spec/rest/ips/addresses_spec.rb +94 -122
  82. data/spec/rest/ips/pools_spec.rb +84 -112
  83. data/spec/rest/ips/warmup_spec.rb +63 -71
  84. data/spec/rest/mail/address_spec.rb +28 -0
  85. data/spec/rest/mail/attachment_spec.rb +48 -0
  86. data/spec/rest/mail/content_spec.rb +32 -0
  87. data/spec/rest/mail/mail_settings_spec.rb +51 -0
  88. data/spec/rest/mail/mail_spec.rb +136 -0
  89. data/spec/rest/mail/params_spec.rb +152 -0
  90. data/spec/rest/mail/personalization_spec.rb +66 -0
  91. data/spec/rest/mail/tracking_settings_spec.rb +63 -0
  92. data/spec/rest/marketing_campaigns/contacts/custom_fields_spec.rb +146 -0
  93. data/spec/rest/marketing_campaigns/contacts/lists_spec.rb +307 -0
  94. data/spec/rest/marketing_campaigns/contacts/recipients_spec.rb +331 -0
  95. data/spec/rest/marketing_campaigns/contacts/reserved_fields_spec.rb +119 -0
  96. data/spec/rest/marketing_campaigns/contacts/segments_spec.rb +268 -0
  97. data/spec/rest/marketing_campaigns/marketing_campaigns_spec.rb +427 -0
  98. data/spec/rest/marketing_campaigns/senders_spec.rb +230 -0
  99. data/spec/rest/settings/enforced_tls_spec.rb +38 -54
  100. data/spec/rest/settings/mail_spec.rb +227 -330
  101. data/spec/rest/settings/partner_spec.rb +40 -59
  102. data/spec/rest/settings/settings_spec.rb +44 -42
  103. data/spec/rest/settings/tracking_spec.rb +130 -189
  104. data/spec/rest/sm/global_unsubscribes_spec.rb +47 -72
  105. data/spec/rest/sm/groups_spec.rb +88 -123
  106. data/spec/rest/sm/sm_spec.rb +32 -30
  107. data/spec/rest/sm/suppressions_spec.rb +105 -140
  108. data/spec/rest/spam_reports_spec.rb +81 -109
  109. data/spec/rest/stats/advanced_spec.rb +67 -125
  110. data/spec/rest/stats/category_spec.rb +27 -45
  111. data/spec/rest/stats/global_spec.rb +34 -42
  112. data/spec/rest/stats/parse_spec.rb +32 -30
  113. data/spec/rest/stats/stats_spec.rb +174 -172
  114. data/spec/rest/stats/subuser_spec.rb +97 -57
  115. data/spec/rest/subusers_spec.rb +156 -209
  116. data/spec/rest/transactional_templates/templates_spec.rb +199 -0
  117. data/spec/rest/transactional_templates/versions_spec.rb +228 -0
  118. data/spec/rest/users_spec.rb +176 -91
  119. data/spec/rest/webhooks/event_spec.rb +59 -85
  120. data/spec/rest/webhooks/parse_spec.rb +51 -71
  121. data/spec/rest/whitelabel/domains_spec.rb +333 -513
  122. data/spec/rest/whitelabel/ips_spec.rb +109 -147
  123. data/spec/rest/whitelabel/links_spec.rb +181 -265
  124. metadata +70 -40
  125. data/lib/sendgrid4r/rest/api_keys/api_keys.rb +0 -80
  126. data/lib/sendgrid4r/rest/api_keys/permissions.rb +0 -33
  127. data/lib/sendgrid4r/rest/campaigns/campaigns.rb +0 -126
  128. data/lib/sendgrid4r/rest/categories/categories.rb +0 -43
  129. data/lib/sendgrid4r/rest/contacts/recipients.rb +0 -150
  130. data/lib/sendgrid4r/rest/contacts/segments.rb +0 -97
  131. data/lib/sendgrid4r/rest/email_activity/email_activity.rb +0 -81
  132. data/lib/sendgrid4r/rest/templates/templates.rb +0 -69
  133. data/lib/sendgrid4r/rest/templates/versions.rb +0 -95
  134. data/spec/rest/api_keys/api_keys_spec.rb +0 -210
  135. data/spec/rest/api_keys/permissions_spec.rb +0 -65
  136. data/spec/rest/campaigns/campaigns_spec.rb +0 -492
  137. data/spec/rest/categories/categories_spec.rb +0 -96
  138. data/spec/rest/contacts/custom_fields_spec.rb +0 -174
  139. data/spec/rest/contacts/lists_spec.rb +0 -372
  140. data/spec/rest/contacts/recipients_spec.rb +0 -343
  141. data/spec/rest/contacts/reserved_fields_spec.rb +0 -146
  142. data/spec/rest/contacts/segments_spec.rb +0 -307
  143. data/spec/rest/email_activity/email_activity_spec.rb +0 -179
  144. data/spec/rest/templates/templates_spec.rb +0 -222
  145. 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
- describe SendGrid4r::REST::Stats::Advanced do
5
- describe 'integration test', :it do
6
- before do
7
- Dotenv.load
8
- @client = SendGrid4r::Client.new(api_key: ENV['API_KEY'])
9
- end
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
- context 'without block call' do
12
- it '#get_geo_stats with mandatory params' do
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(SendGrid4r::REST::Stats::TopStat)
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(SendGrid4r::REST::Stats::Stat)
22
- expect(stat.metrics).to be_a(SendGrid4r::REST::Stats::Metric)
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
- it '#get_geo_stats with all params' do
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: SendGrid4r::REST::Stats::AggregatedBy::WEEK,
43
- country: 'US'
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(SendGrid4r::REST::Stats::TopStat)
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(SendGrid4r::REST::Stats::Stat)
52
- expect(stat.metrics).to be_a(SendGrid4r::REST::Stats::Metric)
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
- it '#get_devices_stats with mandatory params' do
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(SendGrid4r::REST::Stats::TopStat)
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(SendGrid4r::REST::Stats::Stat)
71
- expect(stat.metrics).to be_a(SendGrid4r::REST::Stats::Metric)
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
- it '#get_devices_stats with all params' do
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: SendGrid4r::REST::Stats::AggregatedBy::WEEK
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(SendGrid4r::REST::Stats::TopStat)
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(SendGrid4r::REST::Stats::Stat)
96
- expect(stat.metrics).to be_a(SendGrid4r::REST::Stats::Metric)
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
- it '#get_clients_stats with mandatory params' do
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(SendGrid4r::REST::Stats::TopStat)
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(SendGrid4r::REST::Stats::Stat)
115
- expect(stat.metrics).to be_a(SendGrid4r::REST::Stats::Metric)
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
- it '#get_clients_stats with all params' do
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: SendGrid4r::REST::Stats::AggregatedBy::WEEK
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(SendGrid4r::REST::Stats::TopStat)
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(SendGrid4r::REST::Stats::Stat)
140
- expect(stat.metrics).to be_a(SendGrid4r::REST::Stats::Metric)
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
- it '#get_clients_type_stats with mandatory params' do
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(SendGrid4r::REST::Stats::TopStat)
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(SendGrid4r::REST::Stats::Stat)
161
- expect(stat.metrics).to be_a(SendGrid4r::REST::Stats::Metric)
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
- it '#get_clients_stats with all params' do
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: SendGrid4r::REST::Stats::AggregatedBy::WEEK,
178
- client_type: 'webmail'
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(SendGrid4r::REST::Stats::TopStat)
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(SendGrid4r::REST::Stats::Stat)
187
- expect(stat.metrics).to be_a(SendGrid4r::REST::Stats::Metric)
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
- it '#get_mailbox_providers_stats with mandatory params' do
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(SendGrid4r::REST::Stats::TopStat)
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(SendGrid4r::REST::Stats::Stat)
207
- expect(stat.metrics).to be_a(SendGrid4r::REST::Stats::Metric)
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
- it '#get_mailbox_providers_stats with all params' do
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: SendGrid4r::REST::Stats::AggregatedBy::WEEK,
234
- esps: 'sss'
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(SendGrid4r::REST::Stats::TopStat)
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(SendGrid4r::REST::Stats::Stat)
243
- expect(stat.metrics).to be_a(SendGrid4r::REST::Stats::Metric)
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
- it '#get_browsers_stats with mandatory params' do
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(SendGrid4r::REST::Stats::TopStat)
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(SendGrid4r::REST::Stats::Stat)
262
- expect(stat.metrics).to be_a(SendGrid4r::REST::Stats::Metric)
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
- it '#get_browsers_stats with all params' do
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-01-02',
278
- aggregated_by: SendGrid4r::REST::Stats::AggregatedBy::WEEK,
279
- browsers: 'chrome'
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(SendGrid4r::REST::Stats::TopStat)
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(SendGrid4r::REST::Stats::Stat)
288
- expect(stat.metrics).to be_a(SendGrid4r::REST::Stats::Metric)
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
- describe SendGrid4r::REST::Stats::Category do
5
- describe 'integration test', :it do
6
- before do
7
- Dotenv.load
8
- @client = SendGrid4r::Client.new(api_key: ENV['API_KEY'])
9
- end
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
- context 'without block call' do
12
- it '#get_categories_stats with mandatory params' do
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(SendGrid4r::REST::Stats::TopStat)
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(SendGrid4r::REST::Stats::Stat)
24
- expect(stat.metrics).to be_a(SendGrid4r::REST::Stats::Metric)
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
- it '#get_category_stats with all params' do
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: SendGrid4r::REST::Stats::AggregatedBy::WEEK,
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(SendGrid4r::REST::Stats::TopStat)
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(SendGrid4r::REST::Stats::Stat)
65
- expect(stat.metrics).to be_a(SendGrid4r::REST::Stats::Metric)
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
- it '#get_categories_stats_sums with mandatory params' do
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(SendGrid4r::REST::Stats::TopStat)
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(SendGrid4r::REST::Stats::Stat)
82
- expect(stat.metrics).to be_a(SendGrid4r::REST::Stats::Metric)
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
- it '#get_categories_stats_sums with all params' do
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: 'opens',
114
- sort_by_direction: 'desc',
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(SendGrid4r::REST::Stats::TopStat)
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(SendGrid4r::REST::Stats::Stat)
122
- expect(stat.metrics_a).to be(SendGrid4r::REST::Stats::Metric)
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
- describe SendGrid4r::REST::Stats::Global do
5
- describe 'integration test', :it do
6
- before do
7
- Dotenv.load
8
- @client = SendGrid4r::Client.new(api_key: ENV['API_KEY'])
9
- end
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
- context 'without block call' do
12
- it '#get_global_stats with mandatory params' do
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(SendGrid4r::REST::Stats::TopStat)
17
+ expect(top_stat).to be_a(TopStat)
18
18
  top_stat.stats.each do |stat|
19
- expect(stat).to be_a(SendGrid4r::REST::Stats::Stat)
20
- expect(stat.metrics).to be_a(SendGrid4r::REST::Stats::Metric)
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
- it '#get_global_stats with all params' do
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: SendGrid4r::REST::Stats::AggregatedBy::WEEK
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(SendGrid4r::REST::Stats::TopStat)
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(SendGrid4r::REST::Stats::Stat)
58
- expect(stat.metrics).to be_a(SendGrid4r::REST::Stats::Metric)
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
- context 'with block call' do
69
- it '#get_global_stats with all params' do
70
- @client.get_global_stats(
71
- start_date: '2015-01-01',
72
- end_date: '2015-01-01',
73
- aggregated_by: SendGrid4r::REST::Stats::AggregatedBy::WEEK
74
- ) do |resp, req, res|
75
- resp =
76
- SendGrid4r::REST::Stats.create_top_stats(
77
- JSON.parse(resp)
78
- )
79
- expect(resp).to be_a(Array)
80
- resp.each do |stat|
81
- expect(stat).to be_a(SendGrid4r::REST::Stats::TopStat)
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
- describe SendGrid4r::REST::Stats::Parse do
5
- describe 'integration test', :it do
6
- before do
7
- Dotenv.load
8
- @client = SendGrid4r::Client.new(api_key: ENV['API_KEY'])
9
- end
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
- context 'without block call' do
12
- it '#get_parse_stats with mandatory params' do
13
- top_stats = @client.get_parse_stats(start_date: '2015-01-01')
14
- expect(top_stats).to be_a(Array)
15
- top_stats.each do |top_stat|
16
- expect(top_stat).to be_a(SendGrid4r::REST::Stats::TopStat)
17
- top_stat.stats.each do |stat|
18
- expect(stat).to be_a(SendGrid4r::REST::Stats::Stat)
19
- expect(stat.metrics.class).to be(SendGrid4r::REST::Stats::Metric)
20
- expect(stat.metrics.received.nil?).to be(false)
21
- expect(stat.metrics.blocks.nil?).to be(true)
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
- it '#get_parse_stats with all params' do
27
- top_stats = @client.get_parse_stats(
28
- start_date: '2015-01-01',
29
- end_date: '2015-01-02',
30
- aggregated_by: SendGrid4r::REST::Stats::AggregatedBy::WEEK
31
- )
32
- expect(top_stats).to be_a(Array)
33
- top_stats.each do |top_stat|
34
- expect(top_stat).to be_a(SendGrid4r::REST::Stats::TopStat)
35
- top_stat.stats.each do |stat|
36
- expect(stat).to be_a(SendGrid4r::REST::Stats::Stat)
37
- expect(stat.metrics).to be_a(SendGrid4r::REST::Stats::Metric)
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