sendgrid4r 1.11.0 → 1.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (202) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +6 -1
  3. data/exe/sg +5 -0
  4. data/lib/sendgrid4r/cli/api_keys/api_key.rb +53 -0
  5. data/lib/sendgrid4r/cli/api_keys/permission.rb +15 -0
  6. data/lib/sendgrid4r/cli/campaign/campaign.rb +134 -0
  7. data/lib/sendgrid4r/cli/campaign/contact/contact.rb +25 -0
  8. data/lib/sendgrid4r/cli/campaign/contact/custom_field.rb +42 -0
  9. data/lib/sendgrid4r/cli/campaign/contact/list.rb +71 -0
  10. data/lib/sendgrid4r/cli/campaign/contact/recipient.rb +78 -0
  11. data/lib/sendgrid4r/cli/campaign/contact/reserved_field.rb +17 -0
  12. data/lib/sendgrid4r/cli/campaign/contact/segment.rb +96 -0
  13. data/lib/sendgrid4r/cli/campaign/sender.rb +83 -0
  14. data/lib/sendgrid4r/cli/cancel_schedules/batch_id.rb +23 -0
  15. data/lib/sendgrid4r/cli/cancel_schedules/cancel_schedule.rb +55 -0
  16. data/lib/sendgrid4r/cli/category.rb +16 -0
  17. data/lib/sendgrid4r/cli/ipam/activity.rb +16 -0
  18. data/lib/sendgrid4r/cli/ipam/ipam.rb +14 -0
  19. data/lib/sendgrid4r/cli/ipam/whitelist.rb +39 -0
  20. data/lib/sendgrid4r/cli/ips/address.rb +48 -0
  21. data/lib/sendgrid4r/cli/ips/ip.rb +17 -0
  22. data/lib/sendgrid4r/cli/ips/pool.rb +48 -0
  23. data/lib/sendgrid4r/cli/ips/warmup.rb +39 -0
  24. data/lib/sendgrid4r/cli/mail.rb +34 -0
  25. data/lib/sendgrid4r/cli/settings/enforced_tls.rb +24 -0
  26. data/lib/sendgrid4r/cli/settings/mail.rb +171 -0
  27. data/lib/sendgrid4r/cli/settings/partner.rb +34 -0
  28. data/lib/sendgrid4r/cli/settings/settings.rb +20 -0
  29. data/lib/sendgrid4r/cli/settings/tracking.rb +92 -0
  30. data/lib/sendgrid4r/cli/sg.rb +55 -0
  31. data/lib/sendgrid4r/cli/sg_thor.rb +34 -0
  32. data/lib/sendgrid4r/cli/stats/advanced.rb +72 -0
  33. data/lib/sendgrid4r/cli/stats/category.rb +35 -0
  34. data/lib/sendgrid4r/cli/stats/global.rb +18 -0
  35. data/lib/sendgrid4r/cli/stats/parse.rb +18 -0
  36. data/lib/sendgrid4r/cli/stats/stats.rb +23 -0
  37. data/lib/sendgrid4r/cli/stats/subuser.rb +67 -0
  38. data/lib/sendgrid4r/cli/subusers/monitor.rb +44 -0
  39. data/lib/sendgrid4r/cli/subusers/subuser.rb +77 -0
  40. data/lib/sendgrid4r/cli/suppressions/block.rb +43 -0
  41. data/lib/sendgrid4r/cli/suppressions/bounce.rb +41 -0
  42. data/lib/sendgrid4r/cli/suppressions/global_unsubscribe.rb +43 -0
  43. data/lib/sendgrid4r/cli/suppressions/group.rb +56 -0
  44. data/lib/sendgrid4r/cli/suppressions/group_unsubscribe.rb +34 -0
  45. data/lib/sendgrid4r/cli/suppressions/invalid_email.rb +43 -0
  46. data/lib/sendgrid4r/cli/suppressions/spam_report.rb +43 -0
  47. data/lib/sendgrid4r/cli/suppressions/suppression.rb +36 -0
  48. data/lib/sendgrid4r/cli/templates/template.rb +51 -0
  49. data/lib/sendgrid4r/cli/templates/version.rb +78 -0
  50. data/lib/sendgrid4r/cli/user.rb +86 -0
  51. data/lib/sendgrid4r/cli/webhooks/event.rb +53 -0
  52. data/lib/sendgrid4r/cli/webhooks/parse.rb +15 -0
  53. data/lib/sendgrid4r/cli/webhooks/webhook.rb +14 -0
  54. data/lib/sendgrid4r/cli/whitelabel/domain.rb +117 -0
  55. data/lib/sendgrid4r/cli/whitelabel/ip.rb +52 -0
  56. data/lib/sendgrid4r/cli/whitelabel/link.rb +96 -0
  57. data/lib/sendgrid4r/cli/whitelabel/whitelabel.rb +17 -0
  58. data/lib/sendgrid4r/client.rb +4 -1
  59. data/lib/sendgrid4r/factory/campaign_factory.rb +1 -1
  60. data/lib/sendgrid4r/factory/condition_factory.rb +2 -2
  61. data/lib/sendgrid4r/factory/event_factory.rb +21 -0
  62. data/lib/sendgrid4r/rest/api_keys_management/api_keys.rb +5 -5
  63. data/lib/sendgrid4r/rest/api_keys_management/permissions.rb +3 -1
  64. data/lib/sendgrid4r/rest/blocks.rb +2 -2
  65. data/lib/sendgrid4r/rest/bounces.rb +2 -2
  66. data/lib/sendgrid4r/rest/cancel_scheduled_sends.rb +12 -4
  67. data/lib/sendgrid4r/rest/categories.rb +1 -1
  68. data/lib/sendgrid4r/rest/email_activity.rb +1 -1
  69. data/lib/sendgrid4r/rest/invalid_emails.rb +2 -2
  70. data/lib/sendgrid4r/rest/ip_access_management.rb +12 -4
  71. data/lib/sendgrid4r/rest/ips/addresses.rb +4 -4
  72. data/lib/sendgrid4r/rest/ips/pools.rb +4 -4
  73. data/lib/sendgrid4r/rest/ips/warmup.rb +3 -3
  74. data/lib/sendgrid4r/rest/marketing_campaigns/contacts/custom_fields.rb +9 -3
  75. data/lib/sendgrid4r/rest/marketing_campaigns/contacts/lists.rb +7 -5
  76. data/lib/sendgrid4r/rest/marketing_campaigns/contacts/recipients.rb +22 -7
  77. data/lib/sendgrid4r/rest/marketing_campaigns/contacts/reserved_fields.rb +3 -1
  78. data/lib/sendgrid4r/rest/marketing_campaigns/contacts/segments.rb +7 -5
  79. data/lib/sendgrid4r/rest/marketing_campaigns/marketing_campaigns.rb +8 -8
  80. data/lib/sendgrid4r/rest/marketing_campaigns/senders.rb +4 -4
  81. data/lib/sendgrid4r/rest/request.rb +6 -4
  82. data/lib/sendgrid4r/rest/settings/enforced_tls.rb +6 -2
  83. data/lib/sendgrid4r/rest/settings/mail.rb +71 -17
  84. data/lib/sendgrid4r/rest/settings/partner.rb +3 -3
  85. data/lib/sendgrid4r/rest/settings/tracking.rb +17 -9
  86. data/lib/sendgrid4r/rest/sm/global_unsubscribes.rb +5 -3
  87. data/lib/sendgrid4r/rest/sm/groups.rb +4 -4
  88. data/lib/sendgrid4r/rest/sm/suppressions.rb +6 -3
  89. data/lib/sendgrid4r/rest/spam_reports.rb +2 -2
  90. data/lib/sendgrid4r/rest/stats/advanced.rb +8 -8
  91. data/lib/sendgrid4r/rest/stats/category.rb +2 -2
  92. data/lib/sendgrid4r/rest/stats/global.rb +1 -1
  93. data/lib/sendgrid4r/rest/stats/parse.rb +1 -1
  94. data/lib/sendgrid4r/rest/stats/subuser.rb +4 -4
  95. data/lib/sendgrid4r/rest/subusers.rb +15 -10
  96. data/lib/sendgrid4r/rest/transactional_templates/templates.rb +12 -4
  97. data/lib/sendgrid4r/rest/transactional_templates/versions.rb +4 -4
  98. data/lib/sendgrid4r/rest/users.rb +9 -9
  99. data/lib/sendgrid4r/rest/webhooks/event.rb +2 -2
  100. data/lib/sendgrid4r/rest/webhooks/parse.rb +1 -1
  101. data/lib/sendgrid4r/rest/whitelabel/domains.rb +10 -11
  102. data/lib/sendgrid4r/rest/whitelabel/ips.rb +4 -4
  103. data/lib/sendgrid4r/rest/whitelabel/links.rb +8 -8
  104. data/lib/sendgrid4r/version.rb +1 -1
  105. data/lib/sendgrid4r.rb +57 -0
  106. data/sendgrid4r.gemspec +3 -1
  107. data/spec/cli/api_keys/api_key_spec.rb +77 -0
  108. data/spec/cli/api_keys/permission_spec.rb +29 -0
  109. data/spec/cli/campaign/campaign_spec.rb +136 -0
  110. data/spec/cli/campaign/contact/custom_field_spec.rb +48 -0
  111. data/spec/cli/campaign/contact/list_spec.rb +88 -0
  112. data/spec/cli/campaign/contact/recipient_spec.rb +93 -0
  113. data/spec/cli/campaign/contact/reserved_field_spec.rb +20 -0
  114. data/spec/cli/campaign/contact/segment_spec.rb +93 -0
  115. data/spec/cli/campaign/sender_spec.rb +83 -0
  116. data/spec/cli/cancel_schedules/batch_id_spec.rb +33 -0
  117. data/spec/cli/cancel_schedules/cancel_schedule_spec.rb +69 -0
  118. data/spec/cli/category_spec.rb +23 -0
  119. data/spec/cli/ipam/activity_spec.rb +21 -0
  120. data/spec/cli/ipam/ipam_spec.rb +26 -0
  121. data/spec/cli/ipam/whitelist_spec.rb +47 -0
  122. data/spec/cli/ips/address_spec.rb +57 -0
  123. data/spec/cli/ips/ip_spec.rb +33 -0
  124. data/spec/cli/ips/pool_spec.rb +57 -0
  125. data/spec/cli/ips/warmup_spec.rb +47 -0
  126. data/spec/cli/mail_spec.rb +37 -0
  127. data/spec/cli/settings/enforced_tls_spec.rb +30 -0
  128. data/spec/cli/settings/mail_spec.rb +255 -0
  129. data/spec/cli/settings/partner_spec.rb +47 -0
  130. data/spec/cli/settings/settings_spec.rb +40 -0
  131. data/spec/cli/settings/tracking_spec.rb +128 -0
  132. data/spec/cli/sg_spec.rb +82 -0
  133. data/spec/cli/stats/advanced_spec.rb +137 -0
  134. data/spec/cli/stats/category_spec.rb +57 -0
  135. data/spec/cli/stats/global_spec.rb +32 -0
  136. data/spec/cli/stats/parse_spec.rb +32 -0
  137. data/spec/cli/stats/stats_spec.rb +40 -0
  138. data/spec/cli/stats/subuser_spec.rb +104 -0
  139. data/spec/cli/subusers/monitor_spec.rb +52 -0
  140. data/spec/cli/subusers/subuser_spec.rb +88 -0
  141. data/spec/cli/suppressions/block_spec.rb +60 -0
  142. data/spec/cli/suppressions/bounce_spec.rb +58 -0
  143. data/spec/cli/suppressions/global_unsubscribe_spec.rb +59 -0
  144. data/spec/cli/suppressions/group_spec.rb +69 -0
  145. data/spec/cli/suppressions/group_unsubscribe_spec.rb +41 -0
  146. data/spec/cli/suppressions/invalid_email_spec.rb +60 -0
  147. data/spec/cli/suppressions/spam_report_spec.rb +60 -0
  148. data/spec/cli/suppressions/suppression_spec.rb +68 -0
  149. data/spec/cli/templates/template_spec.rb +65 -0
  150. data/spec/cli/templates/version_spec.rb +71 -0
  151. data/spec/cli/user_spec.rb +82 -0
  152. data/spec/cli/webhooks/event_spec.rb +67 -0
  153. data/spec/cli/webhooks/parse_spec.rb +20 -0
  154. data/spec/cli/webhooks/webhook_spec.rb +28 -0
  155. data/spec/cli/whitelabel/domain_spec.rb +112 -0
  156. data/spec/cli/whitelabel/ip_spec.rb +61 -0
  157. data/spec/cli/whitelabel/link_spec.rb +110 -0
  158. data/spec/cli/whitelabel/whitelabel_spec.rb +27 -0
  159. data/spec/client_spec.rb +1 -1
  160. data/spec/factory/campaign_factory_spec.rb +2 -2
  161. data/spec/factory/event_factory_spec.rb +36 -0
  162. data/spec/rest/api_keys_management/api_keys_spec.rb +24 -24
  163. data/spec/rest/api_keys_management/permissions_spec.rb +8 -10
  164. data/spec/rest/blocks_spec.rb +14 -18
  165. data/spec/rest/bounces_spec.rb +28 -32
  166. data/spec/rest/cancel_scheduled_sends_spec.rb +15 -19
  167. data/spec/rest/categories_spec.rb +8 -10
  168. data/spec/rest/email_activity_spec.rb +18 -22
  169. data/spec/rest/invalid_emails_spec.rb +19 -23
  170. data/spec/rest/ip_access_management_spec.rb +46 -52
  171. data/spec/rest/ips/addresses_spec.rb +21 -25
  172. data/spec/rest/ips/pools_spec.rb +20 -24
  173. data/spec/rest/ips/warmup_spec.rb +11 -15
  174. data/spec/rest/marketing_campaigns/contacts/custom_fields_spec.rb +26 -30
  175. data/spec/rest/marketing_campaigns/contacts/lists_spec.rb +58 -66
  176. data/spec/rest/marketing_campaigns/contacts/recipients_spec.rb +77 -87
  177. data/spec/rest/marketing_campaigns/contacts/reserved_fields_spec.rb +46 -50
  178. data/spec/rest/marketing_campaigns/contacts/segments_spec.rb +75 -78
  179. data/spec/rest/marketing_campaigns/marketing_campaigns_spec.rb +92 -94
  180. data/spec/rest/marketing_campaigns/senders_spec.rb +51 -51
  181. data/spec/rest/settings/enforced_tls_spec.rb +5 -7
  182. data/spec/rest/settings/mail_spec.rb +89 -60
  183. data/spec/rest/settings/partner_spec.rb +5 -7
  184. data/spec/rest/settings/settings_spec.rb +18 -22
  185. data/spec/rest/settings/tracking_spec.rb +26 -34
  186. data/spec/rest/sm/global_unsubscribes_spec.rb +9 -13
  187. data/spec/rest/sm/groups_spec.rb +24 -28
  188. data/spec/rest/sm/sm_spec.rb +15 -15
  189. data/spec/rest/sm/suppressions_spec.rb +34 -44
  190. data/spec/rest/spam_reports_spec.rb +19 -23
  191. data/spec/rest/stats/advanced_spec.rb +4 -4
  192. data/spec/rest/stats/global_spec.rb +0 -21
  193. data/spec/rest/subusers_spec.rb +38 -47
  194. data/spec/rest/transactional_templates/templates_spec.rb +29 -33
  195. data/spec/rest/transactional_templates/versions_spec.rb +11 -93
  196. data/spec/rest/users_spec.rb +42 -54
  197. data/spec/rest/webhooks/event_spec.rb +16 -18
  198. data/spec/rest/webhooks/parse_spec.rb +16 -20
  199. data/spec/rest/whitelabel/domains_spec.rb +93 -100
  200. data/spec/rest/whitelabel/ips_spec.rb +28 -32
  201. data/spec/rest/whitelabel/links_spec.rb +41 -45
  202. metadata +181 -4
@@ -0,0 +1,27 @@
1
+ # encoding: utf-8
2
+ require File.dirname(__FILE__) + '/../../spec_helper'
3
+
4
+ module SendGrid4r::CLI::Whitelabel
5
+ describe Whitelabel do
6
+ describe 'integration test', :it do
7
+ before do
8
+ Dotenv.load
9
+ end
10
+
11
+ it '#domain subcommand' do
12
+ args = ['domain' 'help']
13
+ Whitelabel.start(args)
14
+ end
15
+
16
+ it '#link subcommand' do
17
+ args = ['link']
18
+ Whitelabel.start(args)
19
+ end
20
+
21
+ it '#ip subcommand' do
22
+ args = ['ip']
23
+ Whitelabel.start(args)
24
+ end
25
+ end
26
+ end
27
+ end
data/spec/client_spec.rb CHANGED
@@ -324,7 +324,7 @@ describe SendGrid4r::Client do
324
324
 
325
325
  describe 'VERSION' do
326
326
  it 'returns VERSION value' do
327
- expect(SendGrid4r::VERSION).to eq('1.11.0')
327
+ expect(SendGrid4r::VERSION).to eq('1.12.0')
328
328
  end
329
329
  end
330
330
  end
@@ -48,8 +48,8 @@ module SendGrid4r::Factory
48
48
  address = CampaignFactory.new.create_address(
49
49
  email: 'from@example.com', name: 'Example INC'
50
50
  )
51
- expect(address.email).to eq('from@example.com')
52
- expect(address.name).to eq('Example INC')
51
+ expect(address[:email]).to eq('from@example.com')
52
+ expect(address[:name]).to eq('Example INC')
53
53
  end
54
54
 
55
55
  it 'create sender with full parameters' do
@@ -0,0 +1,36 @@
1
+ # encoding: utf-8
2
+ require File.dirname(__FILE__) + '/../spec_helper'
3
+
4
+ module SendGrid4r::Factory
5
+ describe EventFactory do
6
+ describe 'unit test', :ut do
7
+ before do
8
+ Dotenv.load
9
+ end
10
+
11
+ it 'create with full parameters' do
12
+ event = EventFactory.create(
13
+ enabled: true, url: 'test.test.test', group_resubscribe: true,
14
+ delivered: true, group_unsubscribe: true, spam_report: true,
15
+ bounce: true, deferred: true, unsubscribe: true, processed: true,
16
+ open: true, click: true, dropped: true)
17
+ expect(event).to be_a(
18
+ SendGrid4r::REST::Webhooks::Event::EventNotification
19
+ )
20
+ expect(event.enabled).to eq(true)
21
+ expect(event.url).to eq('test.test.test')
22
+ expect(event.group_resubscribe).to eq(true)
23
+ expect(event.delivered).to eq(true)
24
+ expect(event.group_unsubscribe).to eq(true)
25
+ expect(event.spam_report).to eq(true)
26
+ expect(event.bounce).to eq(true)
27
+ expect(event.deferred).to eq(true)
28
+ expect(event.unsubscribe).to eq(true)
29
+ expect(event.processed).to eq(true)
30
+ expect(event.open).to eq(true)
31
+ expect(event.click).to eq(true)
32
+ expect(event.dropped).to eq(true)
33
+ end
34
+ end
35
+ end
36
+ end
@@ -92,31 +92,27 @@ module SendGrid4r::REST::ApiKeysManagement
92
92
  end
93
93
 
94
94
  let(:api_keys) do
95
- JSON.parse(
96
- '{'\
97
- '"result": ['\
98
- '{'\
99
- '"name": "A New Hope",'\
100
- '"api_key_id": "xxxxxxxx"'\
101
- '}'\
102
- ']'\
103
- '}'
104
- )
95
+ '{'\
96
+ '"result": ['\
97
+ '{'\
98
+ '"name": "A New Hope",'\
99
+ '"api_key_id": "xxxxxxxx"'\
100
+ '}'\
101
+ ']'\
102
+ '}'
105
103
  end
106
104
 
107
105
  let(:api_key) do
108
- JSON.parse(
109
- '{'\
110
- '"api_key": "SG.xxxxxxxx.yyyyyyyy",'\
111
- '"api_key_id": "xxxxxxxx",'\
112
- '"name": "My API Key",'\
113
- '"scopes": ['\
114
- '"mail.send",'\
115
- '"alerts.create",'\
116
- '"alerts.read"'\
117
- ']'\
118
- '}'
119
- )
106
+ '{'\
107
+ '"api_key": "SG.xxxxxxxx.yyyyyyyy",'\
108
+ '"api_key_id": "xxxxxxxx",'\
109
+ '"name": "My API Key",'\
110
+ '"scopes": ['\
111
+ '"mail.send",'\
112
+ '"alerts.create",'\
113
+ '"alerts.read"'\
114
+ ']'\
115
+ '}'
120
116
  end
121
117
 
122
118
  it '#get_api_keys' do
@@ -150,7 +146,9 @@ module SendGrid4r::REST::ApiKeysManagement
150
146
  end
151
147
 
152
148
  it 'creates api_key instance' do
153
- actual = SendGrid4r::REST::ApiKeysManagement.create_api_key(api_key)
149
+ actual = SendGrid4r::REST::ApiKeysManagement.create_api_key(
150
+ JSON.parse(api_key)
151
+ )
154
152
  expect(actual).to be_a(ApiKey)
155
153
  expect(actual.api_key).to eq('SG.xxxxxxxx.yyyyyyyy')
156
154
  expect(actual.api_key_id).to eq('xxxxxxxx')
@@ -161,7 +159,9 @@ module SendGrid4r::REST::ApiKeysManagement
161
159
  end
162
160
 
163
161
  it 'creates api_keys instance' do
164
- actual = SendGrid4r::REST::ApiKeysManagement.create_api_keys(api_keys)
162
+ actual = SendGrid4r::REST::ApiKeysManagement.create_api_keys(
163
+ JSON.parse(api_keys)
164
+ )
165
165
  expect(actual).to be_a(ApiKeys)
166
166
  expect(actual.result).to be_a(Array)
167
167
  actual.result.each do |api_key|
@@ -24,15 +24,13 @@ module SendGrid4r::REST::ApiKeysManagement
24
24
  end
25
25
 
26
26
  let(:permissions) do
27
- JSON.parse(
28
- '{'\
29
- '"scopes": ['\
30
- '"alerts.create",'\
31
- '"alerts.read",'\
32
- '"alerts.update"'\
33
- ']'\
34
- '}'
35
- )
27
+ '{'\
28
+ '"scopes": ['\
29
+ '"alerts.create",'\
30
+ '"alerts.read",'\
31
+ '"alerts.update"'\
32
+ ']'\
33
+ '}'
36
34
  end
37
35
 
38
36
  it '#get_permissions' do
@@ -42,7 +40,7 @@ module SendGrid4r::REST::ApiKeysManagement
42
40
  end
43
41
 
44
42
  it 'creates permissions instance' do
45
- actual = Permissions.create_permissions(permissions)
43
+ actual = Permissions.create_permissions(JSON.parse(permissions))
46
44
  expect(actual).to be_a(Permissions::Permissions)
47
45
  expect(actual.scopes).to be_a(Array)
48
46
  expect(actual.scopes[0]).to eq('alerts.create')
@@ -50,21 +50,7 @@ module SendGrid4r::REST
50
50
  end
51
51
 
52
52
  let(:blocks) do
53
- JSON.parse(
54
- '['\
55
- '{'\
56
- '"created": 1443651154,'\
57
- '"email": "user1@example.com",'\
58
- '"reason": "error dialing remote address: dial tcp '\
59
- '10.57.152.165:25: no route to host",'\
60
- '"status": "4.0.0"'\
61
- '}'\
62
- ']'
63
- )
64
- end
65
-
66
- let(:block) do
67
- JSON.parse(
53
+ '['\
68
54
  '{'\
69
55
  '"created": 1443651154,'\
70
56
  '"email": "user1@example.com",'\
@@ -72,7 +58,17 @@ module SendGrid4r::REST
72
58
  '10.57.152.165:25: no route to host",'\
73
59
  '"status": "4.0.0"'\
74
60
  '}'\
75
- )
61
+ ']'
62
+ end
63
+
64
+ let(:block) do
65
+ '{'\
66
+ '"created": 1443651154,'\
67
+ '"email": "user1@example.com",'\
68
+ '"reason": "error dialing remote address: dial tcp '\
69
+ '10.57.152.165:25: no route to host",'\
70
+ '"status": "4.0.0"'\
71
+ '}'\
76
72
  end
77
73
 
78
74
  it '#get_blocks' do
@@ -111,7 +107,7 @@ module SendGrid4r::REST
111
107
  end
112
108
 
113
109
  it 'creates blocks instance' do
114
- actual = Blocks.create_blocks(blocks)
110
+ actual = Blocks.create_blocks(JSON.parse(blocks))
115
111
  expect(actual).to be_a(Array)
116
112
  actual.each do |subuser|
117
113
  expect(subuser).to be_a(Blocks::Block)
@@ -119,7 +115,7 @@ module SendGrid4r::REST
119
115
  end
120
116
 
121
117
  it 'creates block instance' do
122
- actual = Blocks.create_block(block)
118
+ actual = Blocks.create_block(JSON.parse(block))
123
119
  expect(actual).to be_a(Blocks::Block)
124
120
  expect(actual.created).to eq(Time.at(1443651154))
125
121
  expect(actual.email).to eq('user1@example.com')
@@ -50,41 +50,37 @@ module SendGrid4r::REST
50
50
  end
51
51
 
52
52
  let(:bounces) do
53
- JSON.parse(
54
- '['\
55
- '{'\
56
- '"created": 1443651125,'\
57
- '"email": "testemail1@test.com",'\
58
- '"reason": "550 5.1.1 The email account that you tried to reach '\
59
- 'does not exist.'\
60
- 'Please try double-checking the recipient\'s email address for '\
61
- 'typos or unnecessary spaces. Learn more at '\
62
- 'https://support.google.com/mail/answer/6596'\
63
- 'o186si2389584ioe.63 - gsmtp ",'\
64
- '"status": "5.1.1"'\
65
- '},'\
66
- '{'\
67
- '"created": 1433800303,'\
68
- '"email": "testemail2@testing.com",'\
69
- '"reason": "550 5.1.1 <testemail2@testing.com>: '\
70
- 'Recipient address '\
71
- 'rejected: User unknown in virtual alias table ",'\
72
- '"status": "5.1.1"'\
73
- '}'\
74
- ']'
75
- )
76
- end
77
-
78
- let(:bounce) do
79
- JSON.parse(
53
+ '['\
54
+ '{'\
55
+ '"created": 1443651125,'\
56
+ '"email": "testemail1@test.com",'\
57
+ '"reason": "550 5.1.1 The email account that you tried to reach '\
58
+ 'does not exist.'\
59
+ 'Please try double-checking the recipient\'s email address for '\
60
+ 'typos or unnecessary spaces. Learn more at '\
61
+ 'https://support.google.com/mail/answer/6596'\
62
+ 'o186si2389584ioe.63 - gsmtp ",'\
63
+ '"status": "5.1.1"'\
64
+ '},'\
80
65
  '{'\
81
66
  '"created": 1433800303,'\
82
67
  '"email": "testemail2@testing.com",'\
83
- '"reason": "550 5.1.1 <testemail2@testing.com>: Recipient address '\
68
+ '"reason": "550 5.1.1 <testemail2@testing.com>: '\
69
+ 'Recipient address '\
84
70
  'rejected: User unknown in virtual alias table ",'\
85
71
  '"status": "5.1.1"'\
86
- '}'
87
- )
72
+ '}'\
73
+ ']'
74
+ end
75
+
76
+ let(:bounce) do
77
+ '{'\
78
+ '"created": 1433800303,'\
79
+ '"email": "testemail2@testing.com",'\
80
+ '"reason": "550 5.1.1 <testemail2@testing.com>: Recipient address '\
81
+ 'rejected: User unknown in virtual alias table ",'\
82
+ '"status": "5.1.1"'\
83
+ '}'
88
84
  end
89
85
 
90
86
  it '#get_bounces' do
@@ -123,7 +119,7 @@ module SendGrid4r::REST
123
119
  end
124
120
 
125
121
  it 'creates bounces instance' do
126
- actual = Bounces.create_bounces(bounces)
122
+ actual = Bounces.create_bounces(JSON.parse(bounces))
127
123
  expect(actual).to be_a(Array)
128
124
  actual.each do |subuser|
129
125
  expect(subuser).to be_a(Bounces::Bounce)
@@ -131,7 +127,7 @@ module SendGrid4r::REST
131
127
  end
132
128
 
133
129
  it 'creates bounce instance' do
134
- actual = Bounces.create_bounce(bounce)
130
+ actual = Bounces.create_bounce(JSON.parse(bounce))
135
131
  expect(actual).to be_a(Bounces::Bounce)
136
132
  expect(actual.created).to eq(Time.at(1433800303))
137
133
  expect(actual.email).to eq('testemail2@testing.com')
@@ -65,26 +65,22 @@ module SendGrid4r::REST
65
65
  end
66
66
 
67
67
  let(:scheduled_send) do
68
- JSON.parse(
69
- '{'\
70
- '"batch_id": "YOUR_BATCH_ID"'\
71
- '}'
72
- )
68
+ '{'\
69
+ '"batch_id": "YOUR_BATCH_ID"'\
70
+ '}'
73
71
  end
74
72
 
75
73
  let(:scheduled_sends) do
76
- JSON.parse(
77
- '['\
78
- '{'\
79
- '"batch_id": "BATCH_ID_1",'\
80
- '"status": "cancel"'\
81
- '},'\
82
- '{'\
83
- '"batch_id": "BATCH_ID_2",'\
84
- '"status": "pause"'\
85
- '}'\
86
- ']'
87
- )
74
+ '['\
75
+ '{'\
76
+ '"batch_id": "BATCH_ID_1",'\
77
+ '"status": "cancel"'\
78
+ '},'\
79
+ '{'\
80
+ '"batch_id": "BATCH_ID_2",'\
81
+ '"status": "pause"'\
82
+ '}'\
83
+ ']'
88
84
  end
89
85
 
90
86
  it '#generate_batch_id' do
@@ -131,7 +127,7 @@ module SendGrid4r::REST
131
127
 
132
128
  it 'creates scheduled_sends instance' do
133
129
  actual = CancelScheduledSends.create_scheduled_sends(
134
- scheduled_sends
130
+ JSON.parse(scheduled_sends)
135
131
  )
136
132
  expect(actual).to be_a(Array)
137
133
  actual.each do |scheduled_send|
@@ -145,7 +141,7 @@ module SendGrid4r::REST
145
141
 
146
142
  it 'creates scheduled_send instance' do
147
143
  actual = CancelScheduledSends.create_scheduled_send(
148
- scheduled_send
144
+ JSON.parse(scheduled_send)
149
145
  )
150
146
  expect(actual).to be_a(CancelScheduledSends::ScheduledSend)
151
147
  expect(actual.batch_id).to eq('YOUR_BATCH_ID')
@@ -44,15 +44,13 @@ module SendGrid4r::REST
44
44
  end
45
45
 
46
46
  let(:categories) do
47
- JSON.parse(
48
- '['\
49
- '{"category": "cat1"},'\
50
- '{"category": "cat2"},'\
51
- '{"category": "cat3"},'\
52
- '{"category": "cat4"},'\
53
- '{"category": "cat5"}'\
54
- ']'
55
- )
47
+ '['\
48
+ '{"category": "cat1"},'\
49
+ '{"category": "cat2"},'\
50
+ '{"category": "cat3"},'\
51
+ '{"category": "cat4"},'\
52
+ '{"category": "cat5"}'\
53
+ ']'
56
54
  end
57
55
 
58
56
  it '#get_categories' do
@@ -65,7 +63,7 @@ module SendGrid4r::REST
65
63
  end
66
64
 
67
65
  it 'creates categories instance' do
68
- actual = Categories.create_categories(categories)
66
+ actual = Categories.create_categories(JSON.parse(categories))
69
67
  expect(actual).to be_a(Array)
70
68
  actual.each do |category|
71
69
  expect(category).to be_a(Categories::Category)
@@ -80,25 +80,7 @@ module SendGrid4r::REST
80
80
  end
81
81
 
82
82
  let(:activities) do
83
- JSON.parse(
84
- '['\
85
- '{'\
86
- '"email": "test@example.com",'\
87
- '"event": "processed",'\
88
- '"created": 1431624000,'\
89
- '"category": ["my_category"],'\
90
- '"smtp_id": "filter001-2348927389",'\
91
- '"asm_group_id": null,'\
92
- '"msg_id": "xxx-abc-123",'\
93
- '"ip": null,'\
94
- '"url": null'\
95
- '}'\
96
- ']'
97
- )
98
- end
99
-
100
- let(:activity) do
101
- JSON.parse(
83
+ '['\
102
84
  '{'\
103
85
  '"email": "test@example.com",'\
104
86
  '"event": "processed",'\
@@ -110,7 +92,21 @@ module SendGrid4r::REST
110
92
  '"ip": null,'\
111
93
  '"url": null'\
112
94
  '}'\
113
- )
95
+ ']'
96
+ end
97
+
98
+ let(:activity) do
99
+ '{'\
100
+ '"email": "test@example.com",'\
101
+ '"event": "processed",'\
102
+ '"created": 1431624000,'\
103
+ '"category": ["my_category"],'\
104
+ '"smtp_id": "filter001-2348927389",'\
105
+ '"asm_group_id": null,'\
106
+ '"msg_id": "xxx-abc-123",'\
107
+ '"ip": null,'\
108
+ '"url": null'\
109
+ '}'\
114
110
  end
115
111
 
116
112
  it '#get_email_activities' do
@@ -123,7 +119,7 @@ module SendGrid4r::REST
123
119
  end
124
120
 
125
121
  it 'creates activity instance' do
126
- actual = EmailActivity.create_activity(activity)
122
+ actual = EmailActivity.create_activity(JSON.parse(activity))
127
123
  expect(actual).to be_a(EmailActivity::Activity)
128
124
  expect(actual.email).to eq('test@example.com')
129
125
  expect(actual.event).to eq('processed')
@@ -140,7 +136,7 @@ module SendGrid4r::REST
140
136
  end
141
137
 
142
138
  it 'creates activities instance' do
143
- actual = EmailActivity.create_activities(activities)
139
+ actual = EmailActivity.create_activities(JSON.parse(activities))
144
140
  expect(actual).to be_a(Array)
145
141
  actual.each do |activity|
146
142
  expect(activity).to be_a(EmailActivity::Activity)