sendgrid-ruby 1.1.6 → 6.0.4

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 (136) hide show
  1. checksums.yaml +5 -5
  2. data/.codeclimate.yml +21 -0
  3. data/.env_sample +1 -3
  4. data/.gitignore +1 -0
  5. data/.travis.yml +28 -17
  6. data/CHANGELOG.md +231 -1
  7. data/CODE_OF_CONDUCT.md +73 -0
  8. data/CONTRIBUTING.md +214 -0
  9. data/Gemfile +5 -4
  10. data/ISSUE_TEMPLATE.md +26 -0
  11. data/LICENSE.md +21 -0
  12. data/Makefile +7 -0
  13. data/PULL_REQUEST_TEMPLATE.md +31 -0
  14. data/README.md +161 -225
  15. data/Rakefile +9 -2
  16. data/TROUBLESHOOTING.md +137 -0
  17. data/UPGRADE.md +5 -0
  18. data/USAGE.md +5037 -0
  19. data/USE_CASES.md +377 -0
  20. data/config.ru +4 -0
  21. data/docker/Dockerfile +12 -0
  22. data/docker/README.md +30 -0
  23. data/examples/accesssettings/accesssettings.rb +83 -0
  24. data/examples/alerts/alerts.rb +62 -0
  25. data/examples/apikeys/apikeys.rb +84 -0
  26. data/examples/asm/asm.rb +173 -0
  27. data/examples/browsers/browsers.rb +16 -0
  28. data/examples/campaigns/campaigns.rb +153 -0
  29. data/examples/categories/categories.rb +36 -0
  30. data/examples/clients/clients.rb +27 -0
  31. data/examples/contactdb/contactdb.rb +395 -0
  32. data/examples/devices/devices.rb +16 -0
  33. data/examples/geo/geo.rb +16 -0
  34. data/examples/helpers/mail/example.rb +147 -0
  35. data/examples/helpers/settings/example.rb +23 -0
  36. data/examples/helpers/stats/example.rb +42 -0
  37. data/examples/ips/ips.rb +167 -0
  38. data/examples/mail/mail.rb +173 -0
  39. data/examples/mailboxproviders/mailboxproviders.rb +16 -0
  40. data/examples/mailsettings/mailsettings.rb +219 -0
  41. data/examples/partnersettings/partnersettings.rb +39 -0
  42. data/examples/scopes/scopes.rb +61 -0
  43. data/examples/senderauthentication/senderauthentication.rb +310 -0
  44. data/examples/senders/senders.rb +98 -0
  45. data/examples/stats/stats.rb +16 -0
  46. data/examples/subusers/subusers.rb +169 -0
  47. data/examples/suppression/suppression.rb +201 -0
  48. data/examples/templates/templates.rb +129 -0
  49. data/examples/trackingsettings/trackingsettings.rb +110 -0
  50. data/examples/user/user.rb +293 -0
  51. data/gemfiles/Sinatra_1.gemfile +6 -0
  52. data/gemfiles/Sinatra_2.gemfile +6 -0
  53. data/lib/sendgrid/client.rb +33 -57
  54. data/lib/sendgrid/helpers/inbound/README.md +98 -0
  55. data/lib/sendgrid/helpers/inbound/app.rb +32 -0
  56. data/lib/sendgrid/helpers/inbound/config.yml +26 -0
  57. data/lib/sendgrid/helpers/inbound/public/index.html +10 -0
  58. data/lib/sendgrid/helpers/inbound/sample_data/default_data.txt +58 -0
  59. data/lib/sendgrid/helpers/inbound/sample_data/raw_data.txt +57 -0
  60. data/lib/sendgrid/helpers/inbound/sample_data/raw_data_with_attachments.txt +298 -0
  61. data/lib/sendgrid/helpers/inbound/send.rb +26 -0
  62. data/lib/sendgrid/helpers/ip_management/ip_management.rb +17 -0
  63. data/lib/sendgrid/helpers/mail/README.md +14 -0
  64. data/lib/sendgrid/helpers/mail/asm.rb +33 -0
  65. data/lib/sendgrid/helpers/mail/attachment.rb +86 -0
  66. data/lib/sendgrid/helpers/mail/bcc_settings.rb +33 -0
  67. data/lib/sendgrid/helpers/mail/bypass_list_management.rb +43 -0
  68. data/lib/sendgrid/helpers/mail/category.rb +20 -0
  69. data/lib/sendgrid/helpers/mail/click_tracking.rb +33 -0
  70. data/lib/sendgrid/helpers/mail/content.rb +20 -0
  71. data/lib/sendgrid/helpers/mail/custom_arg.rb +24 -0
  72. data/lib/sendgrid/helpers/mail/email.rb +29 -0
  73. data/lib/sendgrid/helpers/mail/footer.rb +43 -0
  74. data/lib/sendgrid/helpers/mail/ganalytics.rb +74 -0
  75. data/lib/sendgrid/helpers/mail/header.rb +24 -0
  76. data/lib/sendgrid/helpers/mail/mail.rb +140 -0
  77. data/lib/sendgrid/helpers/mail/mail_settings.rb +63 -0
  78. data/lib/sendgrid/helpers/mail/open_tracking.rb +33 -0
  79. data/lib/sendgrid/helpers/mail/personalization.rb +82 -0
  80. data/lib/sendgrid/helpers/mail/section.rb +24 -0
  81. data/lib/sendgrid/helpers/mail/spam_check.rb +43 -0
  82. data/lib/sendgrid/helpers/mail/subscription_tracking.rb +53 -0
  83. data/lib/sendgrid/helpers/mail/substitution.rb +24 -0
  84. data/lib/sendgrid/helpers/mail/tracking_settings.rb +53 -0
  85. data/lib/sendgrid/helpers/permissions/scope.rb +28 -0
  86. data/lib/sendgrid/helpers/permissions/scopes.yml +309 -0
  87. data/lib/sendgrid/helpers/settings/README.md +14 -0
  88. data/lib/sendgrid/helpers/settings/mail_settings_dto.rb +13 -0
  89. data/lib/sendgrid/helpers/settings/partner_settings_dto.rb +13 -0
  90. data/lib/sendgrid/helpers/settings/settings.rb +28 -0
  91. data/lib/sendgrid/helpers/settings/tracking_settings_dto.rb +24 -0
  92. data/lib/sendgrid/helpers/settings/user_settings_dto.rb +13 -0
  93. data/lib/sendgrid/helpers/stats/email_stats.rb +46 -0
  94. data/lib/sendgrid/helpers/stats/metrics.rb +35 -0
  95. data/lib/sendgrid/helpers/stats/stats_response.rb +31 -0
  96. data/lib/sendgrid/version.rb +1 -1
  97. data/lib/sendgrid-ruby.rb +27 -6
  98. data/mail_helper_v3.md +390 -0
  99. data/sendgrid-ruby.gemspec +13 -17
  100. data/spec/sendgrid/helpers/ip_management/ip_management_spec.rb +12 -0
  101. data/spec/sendgrid/helpers/settings/mail_settings_dto_spec.rb +32 -0
  102. data/spec/sendgrid/helpers/settings/partner_settings_dto_spec.rb +24 -0
  103. data/spec/sendgrid/helpers/settings/settings_spec.rb +25 -0
  104. data/spec/sendgrid/helpers/settings/tracking_settings_dto_spec.rb +27 -0
  105. data/spec/sendgrid/helpers/settings/user_settings_dto_spec.rb +24 -0
  106. data/spec/sendgrid/helpers/stats/email_stats_spec.rb +112 -0
  107. data/spec/sendgrid/helpers/stats/metrics_spec.rb +46 -0
  108. data/spec/sendgrid/helpers/stats/stats_response_spec.rb +76 -0
  109. data/spec/spec_helper.rb +10 -1
  110. data/test/prism.sh +42 -0
  111. data/test/sendgrid/helpers/mail/test_attachment.rb +35 -0
  112. data/test/sendgrid/helpers/mail/test_category.rb +27 -0
  113. data/test/sendgrid/helpers/mail/test_email.rb +34 -0
  114. data/test/sendgrid/helpers/mail/test_mail.rb +261 -0
  115. data/test/sendgrid/helpers/mail/test_personalizations.rb +161 -0
  116. data/test/sendgrid/permissions/test_scopes.rb +38 -0
  117. data/test/sendgrid/test_sendgrid-ruby.rb +2751 -0
  118. metadata +149 -115
  119. data/.rspec +0 -2
  120. data/.rubocop.yml +0 -30
  121. data/FETCH_HEAD +0 -0
  122. data/Guardfile +0 -10
  123. data/LICENSE.txt +0 -22
  124. data/example.rb +0 -41
  125. data/lib/sendgrid/exceptions.rb +0 -7
  126. data/lib/sendgrid/mail.rb +0 -182
  127. data/lib/sendgrid/recipient.rb +0 -29
  128. data/lib/sendgrid/response.rb +0 -14
  129. data/lib/sendgrid/template.rb +0 -26
  130. data/lib/sendgrid/template_mailer.rb +0 -59
  131. data/spec/lib/sendgrid/client_spec.rb +0 -87
  132. data/spec/lib/sendgrid/mail_spec.rb +0 -151
  133. data/spec/lib/sendgrid/recipient_spec.rb +0 -91
  134. data/spec/lib/sendgrid/template_mailer_spec.rb +0 -86
  135. data/spec/lib/sendgrid/template_spec.rb +0 -61
  136. data/spec/lib/sendgrid_spec.rb +0 -7
@@ -0,0 +1,2751 @@
1
+ require_relative '../../lib/sendgrid-ruby.rb'
2
+ require 'ruby_http_client'
3
+ require 'minitest/autorun'
4
+ require 'minitest/unit'
5
+
6
+ class TestAPI < MiniTest::Test
7
+
8
+ unless File.exist?('/usr/local/bin/prism') || File.exist?(File.join(Dir.pwd, 'prism/bin/prism'))
9
+ if RUBY_PLATFORM =~ /mswin|mingw/
10
+ puts 'Please download the Windows binary (https://github.com/stoplightio/prism/releases) and place it in your /usr/local/bin directory'
11
+ else
12
+ puts 'Installing Prism'
13
+ IO.popen(['curl', '-s', 'https://raw.githubusercontent.com/stoplightio/prism/master/install.sh']) do |io|
14
+ out = io.read
15
+ unless system(out)
16
+ puts "Error downloading the prism binary, you can try downloading directly here (https://github.com/stoplightio/prism/releases) and place in your /usr/local/bin directory, #{out}"
17
+ exit
18
+ end
19
+ end
20
+ end
21
+ end
22
+
23
+ puts 'Activating Prism (~20 seconds)'
24
+ @@prism_pid = spawn('prism run --mock --list --spec https://raw.githubusercontent.com/sendgrid/sendgrid-oai/master/oai_stoplight.json', [:out, :err] => '/dev/null')
25
+ sleep(15)
26
+ puts 'Prism started'
27
+
28
+ def setup
29
+ host = "http://localhost:4010"
30
+ @sg = SendGrid::API.new(api_key: "SENDGRID_API_KEY", host: host)
31
+ end
32
+
33
+ Minitest.after_run do
34
+ Process.kill('TERM', @@prism_pid)
35
+ puts 'Prism shut down'
36
+ end
37
+
38
+ def test_init
39
+ headers = JSON.parse('
40
+ {
41
+ "X-Test": "test"
42
+ }
43
+ ')
44
+ subuser = 'test_user'
45
+ sg = SendGrid::API.new(api_key: "SENDGRID_API_KEY", host: "https://api.test.com", request_headers: headers, version: "v3", impersonate_subuser: subuser)
46
+
47
+ assert_equal("https://api.test.com", sg.host)
48
+ user_agent = "sendgrid/#{SendGrid::VERSION};ruby"
49
+ test_headers = JSON.parse('
50
+ {
51
+ "Authorization": "Bearer SENDGRID_API_KEY",
52
+ "Accept": "application/json",
53
+ "X-Test": "test",
54
+ "User-agent": "' + user_agent + '",
55
+ "On-Behalf-Of": "' + subuser + '"
56
+ }
57
+ ')
58
+ assert_equal(test_headers, sg.request_headers)
59
+ assert_equal("v3", sg.version)
60
+ assert_equal(subuser, sg.impersonate_subuser)
61
+ assert_equal("6.0.4", SendGrid::VERSION)
62
+ assert_instance_of(SendGrid::Client, sg.client)
63
+ end
64
+
65
+ def test_init_when_impersonate_subuser_is_not_given
66
+ sg = SendGrid::API.new(api_key: "SENDGRID_API_KEY", host: "https://api.test.com", version: "v3")
67
+ refute_includes(sg.request_headers, 'On-Behalf-Of')
68
+ end
69
+
70
+ def test_access_settings_activity_get
71
+ params = JSON.parse('{"limit": 1}')
72
+ headers = JSON.parse('{"X-Mock": 200}')
73
+
74
+ response = @sg.client.access_settings.activity.get(query_params: params, request_headers: headers)
75
+
76
+ self.assert_equal('200', response.status_code)
77
+ end
78
+
79
+ def test_access_settings_whitelist_post
80
+ data = JSON.parse('{
81
+ "ips": [
82
+ {
83
+ "ip": "192.168.1.1"
84
+ },
85
+ {
86
+ "ip": "192.*.*.*"
87
+ },
88
+ {
89
+ "ip": "192.168.1.3/32"
90
+ }
91
+ ]
92
+ }')
93
+ headers = JSON.parse('{"X-Mock": 201}')
94
+
95
+ response = @sg.client.access_settings.whitelist.post(request_body: data, request_headers: headers)
96
+
97
+ self.assert_equal('201', response.status_code)
98
+ end
99
+
100
+ def test_access_settings_whitelist_get
101
+ headers = JSON.parse('{"X-Mock": 200}')
102
+
103
+ response = @sg.client.access_settings.whitelist.get(request_headers: headers)
104
+
105
+ self.assert_equal('200', response.status_code)
106
+ end
107
+
108
+ def test_access_settings_whitelist_delete
109
+ data = JSON.parse('{
110
+ "ids": [
111
+ 1,
112
+ 2,
113
+ 3
114
+ ]
115
+ }')
116
+ headers = JSON.parse('{"X-Mock": 204}')
117
+
118
+ response = @sg.client.access_settings.whitelist.delete(request_body: data, request_headers: headers)
119
+
120
+ self.assert_equal('204', response.status_code)
121
+ end
122
+
123
+ def test_access_settings_whitelist__rule_id__get
124
+ rule_id = "test_url_param"
125
+ headers = JSON.parse('{"X-Mock": 200}')
126
+
127
+ response = @sg.client.access_settings.whitelist._(rule_id).get(request_headers: headers)
128
+
129
+ self.assert_equal('200', response.status_code)
130
+ end
131
+
132
+ def test_access_settings_whitelist__rule_id__delete
133
+ rule_id = "test_url_param"
134
+ headers = JSON.parse('{"X-Mock": 204}')
135
+
136
+ response = @sg.client.access_settings.whitelist._(rule_id).delete(request_headers: headers)
137
+
138
+ self.assert_equal('204', response.status_code)
139
+ end
140
+
141
+ def test_alerts_post
142
+ data = JSON.parse('{
143
+ "email_to": "example@example.com",
144
+ "frequency": "daily",
145
+ "type": "stats_notification"
146
+ }')
147
+ headers = JSON.parse('{"X-Mock": 201}')
148
+
149
+ response = @sg.client.alerts.post(request_body: data, request_headers: headers)
150
+
151
+ self.assert_equal('201', response.status_code)
152
+ end
153
+
154
+ def test_alerts_get
155
+ headers = JSON.parse('{"X-Mock": 200}')
156
+
157
+ response = @sg.client.alerts.get(request_headers: headers)
158
+
159
+ self.assert_equal('200', response.status_code)
160
+ end
161
+
162
+ def test_alerts__alert_id__patch
163
+ data = JSON.parse('{
164
+ "email_to": "example@example.com"
165
+ }')
166
+ alert_id = "test_url_param"
167
+ headers = JSON.parse('{"X-Mock": 200}')
168
+
169
+ response = @sg.client.alerts._(alert_id).patch(request_body: data, request_headers: headers)
170
+
171
+ self.assert_equal('200', response.status_code)
172
+ end
173
+
174
+ def test_alerts__alert_id__get
175
+ alert_id = "test_url_param"
176
+ headers = JSON.parse('{"X-Mock": 200}')
177
+
178
+ response = @sg.client.alerts._(alert_id).get(request_headers: headers)
179
+
180
+ self.assert_equal('200', response.status_code)
181
+ end
182
+
183
+ def test_alerts__alert_id__delete
184
+ alert_id = "test_url_param"
185
+ headers = JSON.parse('{"X-Mock": 204}')
186
+
187
+ response = @sg.client.alerts._(alert_id).delete(request_headers: headers)
188
+
189
+ self.assert_equal('204', response.status_code)
190
+ end
191
+
192
+ def test_api_keys_post
193
+ data = JSON.parse('{
194
+ "name": "My API Key",
195
+ "sample": "data",
196
+ "scopes": [
197
+ "mail.send",
198
+ "alerts.create",
199
+ "alerts.read"
200
+ ]
201
+ }')
202
+ headers = JSON.parse('{"X-Mock": 201}')
203
+
204
+ response = @sg.client.api_keys.post(request_body: data, request_headers: headers)
205
+
206
+ self.assert_equal('201', response.status_code)
207
+ end
208
+
209
+ def test_api_keys_get
210
+ params = JSON.parse('{"limit": 1}')
211
+ headers = JSON.parse('{"X-Mock": 200}')
212
+
213
+ response = @sg.client.api_keys.get(query_params: params, request_headers: headers)
214
+
215
+ self.assert_equal('200', response.status_code)
216
+ end
217
+
218
+ def test_api_keys__api_key_id__put
219
+ data = JSON.parse('{
220
+ "name": "A New Hope",
221
+ "scopes": [
222
+ "user.profile.read",
223
+ "user.profile.update"
224
+ ]
225
+ }')
226
+ api_key_id = "test_url_param"
227
+ headers = JSON.parse('{"X-Mock": 200}')
228
+
229
+ response = @sg.client.api_keys._(api_key_id).put(request_body: data, request_headers: headers)
230
+
231
+ self.assert_equal('200', response.status_code)
232
+ end
233
+
234
+ def test_api_keys__api_key_id__patch
235
+ data = JSON.parse('{
236
+ "name": "A New Hope"
237
+ }')
238
+ api_key_id = "test_url_param"
239
+ headers = JSON.parse('{"X-Mock": 200}')
240
+
241
+ response = @sg.client.api_keys._(api_key_id).patch(request_body: data, request_headers: headers)
242
+
243
+ self.assert_equal('200', response.status_code)
244
+ end
245
+
246
+ def test_api_keys__api_key_id__get
247
+ api_key_id = "test_url_param"
248
+ headers = JSON.parse('{"X-Mock": 200}')
249
+
250
+ response = @sg.client.api_keys._(api_key_id).get(request_headers: headers)
251
+
252
+ self.assert_equal('200', response.status_code)
253
+ end
254
+
255
+ def test_api_keys__api_key_id__delete
256
+ api_key_id = "test_url_param"
257
+ headers = JSON.parse('{"X-Mock": 204}')
258
+
259
+ response = @sg.client.api_keys._(api_key_id).delete(request_headers: headers)
260
+
261
+ self.assert_equal('204', response.status_code)
262
+ end
263
+
264
+ def test_asm_groups_post
265
+ data = JSON.parse('{
266
+ "description": "Suggestions for products our users might like.",
267
+ "is_default": true,
268
+ "name": "Product Suggestions"
269
+ }')
270
+ headers = JSON.parse('{"X-Mock": 201}')
271
+
272
+ response = @sg.client.asm.groups.post(request_body: data, request_headers: headers)
273
+
274
+ self.assert_equal('201', response.status_code)
275
+ end
276
+
277
+ def test_asm_groups_get
278
+ params = JSON.parse('{"id": 1}')
279
+ headers = JSON.parse('{"X-Mock": 200}')
280
+
281
+ response = @sg.client.asm.groups.get(query_params: params, request_headers: headers)
282
+
283
+ self.assert_equal('200', response.status_code)
284
+ end
285
+
286
+ def test_asm_groups__group_id__patch
287
+ data = JSON.parse('{
288
+ "description": "Suggestions for items our users might like.",
289
+ "id": 103,
290
+ "name": "Item Suggestions"
291
+ }')
292
+ group_id = "test_url_param"
293
+ headers = JSON.parse('{"X-Mock": 201}')
294
+
295
+ response = @sg.client.asm.groups._(group_id).patch(request_body: data, request_headers: headers)
296
+
297
+ self.assert_equal('201', response.status_code)
298
+ end
299
+
300
+ def test_asm_groups__group_id__get
301
+ group_id = "test_url_param"
302
+ headers = JSON.parse('{"X-Mock": 200}')
303
+
304
+ response = @sg.client.asm.groups._(group_id).get(request_headers: headers)
305
+
306
+ self.assert_equal('200', response.status_code)
307
+ end
308
+
309
+ def test_asm_groups__group_id__delete
310
+ group_id = "test_url_param"
311
+ headers = JSON.parse('{"X-Mock": 204}')
312
+
313
+ response = @sg.client.asm.groups._(group_id).delete(request_headers: headers)
314
+
315
+ self.assert_equal('204', response.status_code)
316
+ end
317
+
318
+ def test_asm_groups__group_id__suppressions_post
319
+ data = JSON.parse('{
320
+ "recipient_emails": [
321
+ "test1@example.com",
322
+ "test2@example.com"
323
+ ]
324
+ }')
325
+ group_id = "test_url_param"
326
+ headers = JSON.parse('{"X-Mock": 201}')
327
+
328
+ response = @sg.client.asm.groups._(group_id).suppressions.post(request_body: data, request_headers: headers)
329
+
330
+ self.assert_equal('201', response.status_code)
331
+ end
332
+
333
+ def test_asm_groups__group_id__suppressions_get
334
+ group_id = "test_url_param"
335
+ headers = JSON.parse('{"X-Mock": 200}')
336
+
337
+ response = @sg.client.asm.groups._(group_id).suppressions.get(request_headers: headers)
338
+
339
+ self.assert_equal('200', response.status_code)
340
+ end
341
+
342
+ def test_asm_groups__group_id__suppressions_search_post
343
+ data = JSON.parse('{
344
+ "recipient_emails": [
345
+ "exists1@example.com",
346
+ "exists2@example.com",
347
+ "doesnotexists@example.com"
348
+ ]
349
+ }')
350
+ group_id = "test_url_param"
351
+ headers = JSON.parse('{"X-Mock": 200}')
352
+
353
+ response = @sg.client.asm.groups._(group_id).suppressions.search.post(request_body: data, request_headers: headers)
354
+
355
+ self.assert_equal('200', response.status_code)
356
+ end
357
+
358
+ def test_asm_groups__group_id__suppressions__email__delete
359
+ group_id = "test_url_param"
360
+ email = "test_url_param"
361
+ headers = JSON.parse('{"X-Mock": 204}')
362
+
363
+ response = @sg.client.asm.groups._(group_id).suppressions._(email).delete(request_headers: headers)
364
+
365
+ self.assert_equal('204', response.status_code)
366
+ end
367
+
368
+ def test_asm_suppressions_get
369
+ headers = JSON.parse('{"X-Mock": 200}')
370
+
371
+ response = @sg.client.asm.suppressions.get(request_headers: headers)
372
+
373
+ self.assert_equal('200', response.status_code)
374
+ end
375
+
376
+ def test_asm_suppressions_global_post
377
+ data = JSON.parse('{
378
+ "recipient_emails": [
379
+ "test1@example.com",
380
+ "test2@example.com"
381
+ ]
382
+ }')
383
+ headers = JSON.parse('{"X-Mock": 201}')
384
+
385
+ response = @sg.client.asm.suppressions.global.post(request_body: data, request_headers: headers)
386
+
387
+ self.assert_equal('201', response.status_code)
388
+ end
389
+
390
+ def test_asm_suppressions_global__email__get
391
+ email = "test_url_param"
392
+ headers = JSON.parse('{"X-Mock": 200}')
393
+
394
+ response = @sg.client.asm.suppressions.global._(email).get(request_headers: headers)
395
+
396
+ self.assert_equal('200', response.status_code)
397
+ end
398
+
399
+ def test_asm_suppressions_global__email__delete
400
+ email = "test_url_param"
401
+ headers = JSON.parse('{"X-Mock": 204}')
402
+
403
+ response = @sg.client.asm.suppressions.global._(email).delete(request_headers: headers)
404
+
405
+ self.assert_equal('204', response.status_code)
406
+ end
407
+
408
+ def test_asm_suppressions__email__get
409
+ email = "test_url_param"
410
+ headers = JSON.parse('{"X-Mock": 200}')
411
+
412
+ response = @sg.client.asm.suppressions._(email).get(request_headers: headers)
413
+
414
+ self.assert_equal('200', response.status_code)
415
+ end
416
+
417
+ def test_browsers_stats_get
418
+ params = JSON.parse('{"end_date": "2016-04-01", "aggregated_by": "day", "browsers": "test_string", "limit": "test_string", "offset": "test_string", "start_date": "2016-01-01"}')
419
+ headers = JSON.parse('{"X-Mock": 200}')
420
+
421
+ response = @sg.client.browsers.stats.get(query_params: params, request_headers: headers)
422
+
423
+ self.assert_equal('200', response.status_code)
424
+ end
425
+
426
+ def test_campaigns_post
427
+ data = JSON.parse('{
428
+ "categories": [
429
+ "spring line"
430
+ ],
431
+ "custom_unsubscribe_url": "",
432
+ "html_content": "<html><head><title></title></head><body><p>Check out our spring line!</p></body></html>",
433
+ "ip_pool": "marketing",
434
+ "list_ids": [
435
+ 110,
436
+ 124
437
+ ],
438
+ "plain_content": "Check out our spring line!",
439
+ "segment_ids": [
440
+ 110
441
+ ],
442
+ "sender_id": 124451,
443
+ "subject": "New Products for Spring!",
444
+ "suppression_group_id": 42,
445
+ "title": "March Newsletter"
446
+ }')
447
+ headers = JSON.parse('{"X-Mock": 201}')
448
+
449
+ response = @sg.client.campaigns.post(request_body: data, request_headers: headers)
450
+
451
+ self.assert_equal('201', response.status_code)
452
+ end
453
+
454
+ def test_campaigns_get
455
+ params = JSON.parse('{"limit": 1, "offset": 1}')
456
+ headers = JSON.parse('{"X-Mock": 200}')
457
+
458
+ response = @sg.client.campaigns.get(query_params: params, request_headers: headers)
459
+
460
+ self.assert_equal('200', response.status_code)
461
+ end
462
+
463
+ def test_campaigns__campaign_id__patch
464
+ data = JSON.parse('{
465
+ "categories": [
466
+ "summer line"
467
+ ],
468
+ "html_content": "<html><head><title></title></head><body><p>Check out our summer line!</p></body></html>",
469
+ "plain_content": "Check out our summer line!",
470
+ "subject": "New Products for Summer!",
471
+ "title": "May Newsletter"
472
+ }')
473
+ campaign_id = "test_url_param"
474
+ headers = JSON.parse('{"X-Mock": 200}')
475
+
476
+ response = @sg.client.campaigns._(campaign_id).patch(request_body: data, request_headers: headers)
477
+
478
+ self.assert_equal('200', response.status_code)
479
+ end
480
+
481
+ def test_campaigns__campaign_id__get
482
+ campaign_id = "test_url_param"
483
+ headers = JSON.parse('{"X-Mock": 200}')
484
+
485
+ response = @sg.client.campaigns._(campaign_id).get(request_headers: headers)
486
+
487
+ self.assert_equal('200', response.status_code)
488
+ end
489
+
490
+ def test_campaigns__campaign_id__delete
491
+ campaign_id = "test_url_param"
492
+ headers = JSON.parse('{"X-Mock": 204}')
493
+
494
+ response = @sg.client.campaigns._(campaign_id).delete(request_headers: headers)
495
+
496
+ self.assert_equal('204', response.status_code)
497
+ end
498
+
499
+ def test_campaigns__campaign_id__schedules_patch
500
+ data = JSON.parse('{
501
+ "send_at": 1489451436
502
+ }')
503
+ campaign_id = "test_url_param"
504
+ headers = JSON.parse('{"X-Mock": 200}')
505
+
506
+ response = @sg.client.campaigns._(campaign_id).schedules.patch(request_body: data, request_headers: headers)
507
+
508
+ self.assert_equal('200', response.status_code)
509
+ end
510
+
511
+ def test_campaigns__campaign_id__schedules_post
512
+ data = JSON.parse('{
513
+ "send_at": 1489771528
514
+ }')
515
+ campaign_id = "test_url_param"
516
+ headers = JSON.parse('{"X-Mock": 201}')
517
+
518
+ response = @sg.client.campaigns._(campaign_id).schedules.post(request_body: data, request_headers: headers)
519
+
520
+ self.assert_equal('201', response.status_code)
521
+ end
522
+
523
+ def test_campaigns__campaign_id__schedules_get
524
+ campaign_id = "test_url_param"
525
+ headers = JSON.parse('{"X-Mock": 200}')
526
+
527
+ response = @sg.client.campaigns._(campaign_id).schedules.get(request_headers: headers)
528
+
529
+ self.assert_equal('200', response.status_code)
530
+ end
531
+
532
+ def test_campaigns__campaign_id__schedules_delete
533
+ campaign_id = "test_url_param"
534
+ headers = JSON.parse('{"X-Mock": 204}')
535
+
536
+ response = @sg.client.campaigns._(campaign_id).schedules.delete(request_headers: headers)
537
+
538
+ self.assert_equal('204', response.status_code)
539
+ end
540
+
541
+ def test_campaigns__campaign_id__schedules_now_post
542
+ campaign_id = "test_url_param"
543
+ headers = JSON.parse('{"X-Mock": 201}')
544
+
545
+ response = @sg.client.campaigns._(campaign_id).schedules.now.post(request_headers: headers)
546
+
547
+ self.assert_equal('201', response.status_code)
548
+ end
549
+
550
+ def test_campaigns__campaign_id__schedules_test_post
551
+ data = JSON.parse('{
552
+ "to": "your.email@example.com"
553
+ }')
554
+ campaign_id = "test_url_param"
555
+ headers = JSON.parse('{"X-Mock": 204}')
556
+
557
+ response = @sg.client.campaigns._(campaign_id).schedules.test.post(request_body: data, request_headers: headers)
558
+
559
+ self.assert_equal('204', response.status_code)
560
+ end
561
+
562
+ def test_categories_get
563
+ params = JSON.parse('{"category": "test_string", "limit": 1, "offset": 1}')
564
+ headers = JSON.parse('{"X-Mock": 200}')
565
+
566
+ response = @sg.client.categories.get(query_params: params, request_headers: headers)
567
+
568
+ self.assert_equal('200', response.status_code)
569
+ end
570
+
571
+ def test_categories_stats_get
572
+ params = JSON.parse('{"end_date": "2016-04-01", "aggregated_by": "day", "limit": 1, "offset": 1, "start_date": "2016-01-01", "categories": "test_string"}')
573
+ headers = JSON.parse('{"X-Mock": 200}')
574
+
575
+ response = @sg.client.categories.stats.get(query_params: params, request_headers: headers)
576
+
577
+ self.assert_equal('200', response.status_code)
578
+ end
579
+
580
+ def test_categories_stats_sums_get
581
+ params = JSON.parse('{"end_date": "2016-04-01", "aggregated_by": "day", "limit": 1, "sort_by_metric": "test_string", "offset": 1, "start_date": "2016-01-01", "sort_by_direction": "asc"}')
582
+ headers = JSON.parse('{"X-Mock": 200}')
583
+
584
+ response = @sg.client.categories.stats.sums.get(query_params: params, request_headers: headers)
585
+
586
+ self.assert_equal('200', response.status_code)
587
+ end
588
+
589
+ def test_clients_stats_get
590
+ params = JSON.parse('{"aggregated_by": "day", "start_date": "2016-01-01", "end_date": "2016-04-01"}')
591
+ headers = JSON.parse('{"X-Mock": 200}')
592
+
593
+ response = @sg.client.clients.stats.get(query_params: params, request_headers: headers)
594
+
595
+ self.assert_equal('200', response.status_code)
596
+ end
597
+
598
+ def test_clients__client_type__stats_get
599
+ params = JSON.parse('{"aggregated_by": "day", "start_date": "2016-01-01", "end_date": "2016-04-01"}')
600
+ client_type = "test_url_param"
601
+ headers = JSON.parse('{"X-Mock": 200}')
602
+
603
+ response = @sg.client.clients._(client_type).stats.get(query_params: params, request_headers: headers)
604
+
605
+ self.assert_equal('200', response.status_code)
606
+ end
607
+
608
+ def test_contactdb_custom_fields_post
609
+ data = JSON.parse('{
610
+ "name": "pet",
611
+ "type": "text"
612
+ }')
613
+ headers = JSON.parse('{"X-Mock": 201}')
614
+
615
+ response = @sg.client.contactdb.custom_fields.post(request_body: data, request_headers: headers)
616
+
617
+ self.assert_equal('201', response.status_code)
618
+ end
619
+
620
+ def test_contactdb_custom_fields_get
621
+ headers = JSON.parse('{"X-Mock": 200}')
622
+
623
+ response = @sg.client.contactdb.custom_fields.get(request_headers: headers)
624
+
625
+ self.assert_equal('200', response.status_code)
626
+ end
627
+
628
+ def test_contactdb_custom_fields__custom_field_id__get
629
+ custom_field_id = "test_url_param"
630
+ headers = JSON.parse('{"X-Mock": 200}')
631
+
632
+ response = @sg.client.contactdb.custom_fields._(custom_field_id).get(request_headers: headers)
633
+
634
+ self.assert_equal('200', response.status_code)
635
+ end
636
+
637
+ def test_contactdb_custom_fields__custom_field_id__delete
638
+ custom_field_id = "test_url_param"
639
+ headers = JSON.parse('{"X-Mock": 202}')
640
+
641
+ response = @sg.client.contactdb.custom_fields._(custom_field_id).delete(request_headers: headers)
642
+
643
+ self.assert_equal('202', response.status_code)
644
+ end
645
+
646
+ def test_contactdb_lists_post
647
+ data = JSON.parse('{
648
+ "name": "your list name"
649
+ }')
650
+ headers = JSON.parse('{"X-Mock": 201}')
651
+
652
+ response = @sg.client.contactdb.lists.post(request_body: data, request_headers: headers)
653
+
654
+ self.assert_equal('201', response.status_code)
655
+ end
656
+
657
+ def test_contactdb_lists_get
658
+ headers = JSON.parse('{"X-Mock": 200}')
659
+
660
+ response = @sg.client.contactdb.lists.get(request_headers: headers)
661
+
662
+ self.assert_equal('200', response.status_code)
663
+ end
664
+
665
+ def test_contactdb_lists_delete
666
+ data = JSON.parse('[
667
+ 1,
668
+ 2,
669
+ 3,
670
+ 4
671
+ ]')
672
+ headers = JSON.parse('{"X-Mock": 204}')
673
+
674
+ response = @sg.client.contactdb.lists.delete(request_body: data, request_headers: headers)
675
+
676
+ self.assert_equal('204', response.status_code)
677
+ end
678
+
679
+ def test_contactdb_lists__list_id__patch
680
+ data = JSON.parse('{
681
+ "name": "newlistname"
682
+ }')
683
+ params = JSON.parse('{"list_id": 1}')
684
+ list_id = "test_url_param"
685
+ headers = JSON.parse('{"X-Mock": 200}')
686
+
687
+ response = @sg.client.contactdb.lists._(list_id).patch(request_body: data, query_params: params, request_headers: headers)
688
+
689
+ self.assert_equal('200', response.status_code)
690
+ end
691
+
692
+ def test_contactdb_lists__list_id__get
693
+ params = JSON.parse('{"list_id": 1}')
694
+ list_id = "test_url_param"
695
+ headers = JSON.parse('{"X-Mock": 200}')
696
+
697
+ response = @sg.client.contactdb.lists._(list_id).get(query_params: params, request_headers: headers)
698
+
699
+ self.assert_equal('200', response.status_code)
700
+ end
701
+
702
+ def test_contactdb_lists__list_id__delete
703
+ params = JSON.parse('{"delete_contacts": "true"}')
704
+ list_id = "test_url_param"
705
+ headers = JSON.parse('{"X-Mock": 202}')
706
+
707
+ response = @sg.client.contactdb.lists._(list_id).delete(query_params: params, request_headers: headers)
708
+
709
+ self.assert_equal('202', response.status_code)
710
+ end
711
+
712
+ def test_contactdb_lists__list_id__recipients_post
713
+ data = JSON.parse('[
714
+ "recipient_id1",
715
+ "recipient_id2"
716
+ ]')
717
+ list_id = "test_url_param"
718
+ headers = JSON.parse('{"X-Mock": 201}')
719
+
720
+ response = @sg.client.contactdb.lists._(list_id).recipients.post(request_body: data, request_headers: headers)
721
+
722
+ self.assert_equal('201', response.status_code)
723
+ end
724
+
725
+ def test_contactdb_lists__list_id__recipients_get
726
+ params = JSON.parse('{"page": 1, "page_size": 1, "list_id": 1}')
727
+ list_id = "test_url_param"
728
+ headers = JSON.parse('{"X-Mock": 200}')
729
+
730
+ response = @sg.client.contactdb.lists._(list_id).recipients.get(query_params: params, request_headers: headers)
731
+
732
+ self.assert_equal('200', response.status_code)
733
+ end
734
+
735
+ def test_contactdb_lists__list_id__recipients__recipient_id__post
736
+ list_id = "test_url_param"
737
+ recipient_id = "test_url_param"
738
+ headers = JSON.parse('{"X-Mock": 201}')
739
+
740
+ response = @sg.client.contactdb.lists._(list_id).recipients._(recipient_id).post(request_headers: headers)
741
+
742
+ self.assert_equal('201', response.status_code)
743
+ end
744
+
745
+ def test_contactdb_lists__list_id__recipients__recipient_id__delete
746
+ params = JSON.parse('{"recipient_id": 1, "list_id": 1}')
747
+ list_id = "test_url_param"
748
+ recipient_id = "test_url_param"
749
+ headers = JSON.parse('{"X-Mock": 204}')
750
+
751
+ response = @sg.client.contactdb.lists._(list_id).recipients._(recipient_id).delete(query_params: params, request_headers: headers)
752
+
753
+ self.assert_equal('204', response.status_code)
754
+ end
755
+
756
+ def test_contactdb_recipients_patch
757
+ data = JSON.parse('[
758
+ {
759
+ "email": "jones@example.com",
760
+ "first_name": "Guy",
761
+ "last_name": "Jones"
762
+ }
763
+ ]')
764
+ headers = JSON.parse('{"X-Mock": 201}')
765
+
766
+ response = @sg.client.contactdb.recipients.patch(request_body: data, request_headers: headers)
767
+
768
+ self.assert_equal('201', response.status_code)
769
+ end
770
+
771
+ def test_contactdb_recipients_post
772
+ data = JSON.parse('[
773
+ {
774
+ "age": 25,
775
+ "email": "example@example.com",
776
+ "first_name": "",
777
+ "last_name": "User"
778
+ },
779
+ {
780
+ "age": 25,
781
+ "email": "example2@example.com",
782
+ "first_name": "Example",
783
+ "last_name": "User"
784
+ }
785
+ ]')
786
+ headers = JSON.parse('{"X-Mock": 201}')
787
+
788
+ response = @sg.client.contactdb.recipients.post(request_body: data, request_headers: headers)
789
+
790
+ self.assert_equal('201', response.status_code)
791
+ end
792
+
793
+ def test_contactdb_recipients_get
794
+ params = JSON.parse('{"page": 1, "page_size": 1}')
795
+ headers = JSON.parse('{"X-Mock": 200}')
796
+
797
+ response = @sg.client.contactdb.recipients.get(query_params: params, request_headers: headers)
798
+
799
+ self.assert_equal('200', response.status_code)
800
+ end
801
+
802
+ def test_contactdb_recipients_delete
803
+ data = JSON.parse('[
804
+ "recipient_id1",
805
+ "recipient_id2"
806
+ ]')
807
+ headers = JSON.parse('{"X-Mock": 200}')
808
+
809
+ response = @sg.client.contactdb.recipients.delete(request_body: data, request_headers: headers)
810
+
811
+ self.assert_equal('200', response.status_code)
812
+ end
813
+
814
+ def test_contactdb_recipients_billable_count_get
815
+ headers = JSON.parse('{"X-Mock": 200}')
816
+
817
+ response = @sg.client.contactdb.recipients.billable_count.get(request_headers: headers)
818
+
819
+ self.assert_equal('200', response.status_code)
820
+ end
821
+
822
+ def test_contactdb_recipients_count_get
823
+ headers = JSON.parse('{"X-Mock": 200}')
824
+
825
+ response = @sg.client.contactdb.recipients.count.get(request_headers: headers)
826
+
827
+ self.assert_equal('200', response.status_code)
828
+ end
829
+
830
+ def test_contactdb_recipients_search_get
831
+ params = { field_name: "test_string" }
832
+ headers = JSON.parse('{"X-Mock": 200}')
833
+
834
+ response = @sg.client.contactdb.recipients.search.get(query_params: params, request_headers: headers)
835
+
836
+ self.assert_equal('200', response.status_code)
837
+ end
838
+
839
+ def test_contactdb_recipients__recipient_id__get
840
+ recipient_id = "test_url_param"
841
+ headers = JSON.parse('{"X-Mock": 200}')
842
+
843
+ response = @sg.client.contactdb.recipients._(recipient_id).get(request_headers: headers)
844
+
845
+ self.assert_equal('200', response.status_code)
846
+ end
847
+
848
+ def test_contactdb_recipients__recipient_id__delete
849
+ recipient_id = "test_url_param"
850
+ headers = JSON.parse('{"X-Mock": 204}')
851
+
852
+ response = @sg.client.contactdb.recipients._(recipient_id).delete(request_headers: headers)
853
+
854
+ self.assert_equal('204', response.status_code)
855
+ end
856
+
857
+ def test_contactdb_recipients__recipient_id__lists_get
858
+ recipient_id = "test_url_param"
859
+ headers = JSON.parse('{"X-Mock": 200}')
860
+
861
+ response = @sg.client.contactdb.recipients._(recipient_id).lists.get(request_headers: headers)
862
+
863
+ self.assert_equal('200', response.status_code)
864
+ end
865
+
866
+ def test_contactdb_reserved_fields_get
867
+ headers = JSON.parse('{"X-Mock": 200}')
868
+
869
+ response = @sg.client.contactdb.reserved_fields.get(request_headers: headers)
870
+
871
+ self.assert_equal('200', response.status_code)
872
+ end
873
+
874
+ def test_contactdb_segments_post
875
+ data = JSON.parse('{
876
+ "conditions": [
877
+ {
878
+ "and_or": "",
879
+ "field": "last_name",
880
+ "operator": "eq",
881
+ "value": "Miller"
882
+ },
883
+ {
884
+ "and_or": "and",
885
+ "field": "last_clicked",
886
+ "operator": "gt",
887
+ "value": "01/02/2015"
888
+ },
889
+ {
890
+ "and_or": "or",
891
+ "field": "clicks.campaign_identifier",
892
+ "operator": "eq",
893
+ "value": "513"
894
+ }
895
+ ],
896
+ "list_id": 4,
897
+ "name": "Last Name Miller"
898
+ }')
899
+ headers = JSON.parse('{"X-Mock": 200}')
900
+
901
+ response = @sg.client.contactdb.segments.post(request_body: data, request_headers: headers)
902
+
903
+ self.assert_equal('200', response.status_code)
904
+ end
905
+
906
+ def test_contactdb_segments_get
907
+ headers = JSON.parse('{"X-Mock": 200}')
908
+
909
+ response = @sg.client.contactdb.segments.get(request_headers: headers)
910
+
911
+ self.assert_equal('200', response.status_code)
912
+ end
913
+
914
+ def test_contactdb_segments__segment_id__patch
915
+ data = JSON.parse('{
916
+ "conditions": [
917
+ {
918
+ "and_or": "",
919
+ "field": "last_name",
920
+ "operator": "eq",
921
+ "value": "Miller"
922
+ }
923
+ ],
924
+ "list_id": 5,
925
+ "name": "The Millers"
926
+ }')
927
+ params = JSON.parse('{"segment_id": "test_string"}')
928
+ segment_id = "test_url_param"
929
+ headers = JSON.parse('{"X-Mock": 200}')
930
+
931
+ response = @sg.client.contactdb.segments._(segment_id).patch(request_body: data, query_params: params, request_headers: headers)
932
+
933
+ self.assert_equal('200', response.status_code)
934
+ end
935
+
936
+ def test_contactdb_segments__segment_id__get
937
+ params = JSON.parse('{"segment_id": 1}')
938
+ segment_id = "test_url_param"
939
+ headers = JSON.parse('{"X-Mock": 200}')
940
+
941
+ response = @sg.client.contactdb.segments._(segment_id).get(query_params: params, request_headers: headers)
942
+
943
+ self.assert_equal('200', response.status_code)
944
+ end
945
+
946
+ def test_contactdb_segments__segment_id__delete
947
+ params = JSON.parse('{"delete_contacts": "true"}')
948
+ segment_id = "test_url_param"
949
+ headers = JSON.parse('{"X-Mock": 204}')
950
+
951
+ response = @sg.client.contactdb.segments._(segment_id).delete(query_params: params, request_headers: headers)
952
+
953
+ self.assert_equal('204', response.status_code)
954
+ end
955
+
956
+ def test_contactdb_segments__segment_id__recipients_get
957
+ params = JSON.parse('{"page": 1, "page_size": 1}')
958
+ segment_id = "test_url_param"
959
+ headers = JSON.parse('{"X-Mock": 200}')
960
+
961
+ response = @sg.client.contactdb.segments._(segment_id).recipients.get(query_params: params, request_headers: headers)
962
+
963
+ self.assert_equal('200', response.status_code)
964
+ end
965
+
966
+ def test_devices_stats_get
967
+ params = JSON.parse('{"aggregated_by": "day", "limit": 1, "start_date": "2016-01-01", "end_date": "2016-04-01", "offset": 1}')
968
+ headers = JSON.parse('{"X-Mock": 200}')
969
+
970
+ response = @sg.client.devices.stats.get(query_params: params, request_headers: headers)
971
+
972
+ self.assert_equal('200', response.status_code)
973
+ end
974
+
975
+ def test_geo_stats_get
976
+ params = JSON.parse('{"end_date": "2016-04-01", "country": "US", "aggregated_by": "day", "limit": 1, "offset": 1, "start_date": "2016-01-01"}')
977
+ headers = JSON.parse('{"X-Mock": 200}')
978
+
979
+ response = @sg.client.geo.stats.get(query_params: params, request_headers: headers)
980
+
981
+ self.assert_equal('200', response.status_code)
982
+ end
983
+
984
+ def test_ips_get
985
+ params = JSON.parse('{"subuser": "test_string", "ip": "test_string", "limit": 1, "exclude_whitelabels": "true", "offset": 1}')
986
+ headers = JSON.parse('{"X-Mock": 200}')
987
+
988
+ response = @sg.client.ips.get(query_params: params, request_headers: headers)
989
+
990
+ self.assert_equal('200', response.status_code)
991
+ end
992
+
993
+ def test_ips_assigned_get
994
+ headers = JSON.parse('{"X-Mock": 200}')
995
+
996
+ response = @sg.client.ips.assigned.get(request_headers: headers)
997
+
998
+ self.assert_equal('200', response.status_code)
999
+ end
1000
+
1001
+ def test_ips_pools_post
1002
+ data = JSON.parse('{
1003
+ "name": "marketing"
1004
+ }')
1005
+ headers = JSON.parse('{"X-Mock": 200}')
1006
+
1007
+ response = @sg.client.ips.pools.post(request_body: data, request_headers: headers)
1008
+
1009
+ self.assert_equal('200', response.status_code)
1010
+ end
1011
+
1012
+ def test_ips_pools_get
1013
+ headers = JSON.parse('{"X-Mock": 200}')
1014
+
1015
+ response = @sg.client.ips.pools.get(request_headers: headers)
1016
+
1017
+ self.assert_equal('200', response.status_code)
1018
+ end
1019
+
1020
+ def test_ips_pools__pool_name__put
1021
+ data = JSON.parse('{
1022
+ "name": "new_pool_name"
1023
+ }')
1024
+ pool_name = "test_url_param"
1025
+ headers = JSON.parse('{"X-Mock": 200}')
1026
+
1027
+ response = @sg.client.ips.pools._(pool_name).put(request_body: data, request_headers: headers)
1028
+
1029
+ self.assert_equal('200', response.status_code)
1030
+ end
1031
+
1032
+ def test_ips_pools__pool_name__get
1033
+ pool_name = "test_url_param"
1034
+ headers = JSON.parse('{"X-Mock": 200}')
1035
+
1036
+ response = @sg.client.ips.pools._(pool_name).get(request_headers: headers)
1037
+
1038
+ self.assert_equal('200', response.status_code)
1039
+ end
1040
+
1041
+ def test_ips_pools__pool_name__delete
1042
+ pool_name = "test_url_param"
1043
+ headers = JSON.parse('{"X-Mock": 204}')
1044
+
1045
+ response = @sg.client.ips.pools._(pool_name).delete(request_headers: headers)
1046
+
1047
+ self.assert_equal('204', response.status_code)
1048
+ end
1049
+
1050
+ def test_ips_pools__pool_name__ips_post
1051
+ data = JSON.parse('{
1052
+ "ip": "0.0.0.0"
1053
+ }')
1054
+ pool_name = "test_url_param"
1055
+ headers = JSON.parse('{"X-Mock": 201}')
1056
+
1057
+ response = @sg.client.ips.pools._(pool_name).ips.post(request_body: data, request_headers: headers)
1058
+
1059
+ self.assert_equal('201', response.status_code)
1060
+ end
1061
+
1062
+ def test_ips_pools__pool_name__ips__ip__delete
1063
+ pool_name = "test_url_param"
1064
+ ip = "test_url_param"
1065
+ headers = JSON.parse('{"X-Mock": 204}')
1066
+
1067
+ response = @sg.client.ips.pools._(pool_name).ips._(ip).delete(request_headers: headers)
1068
+
1069
+ self.assert_equal('204', response.status_code)
1070
+ end
1071
+
1072
+ def test_ips_warmup_post
1073
+ data = JSON.parse('{
1074
+ "ip": "0.0.0.0"
1075
+ }')
1076
+ headers = JSON.parse('{"X-Mock": 200}')
1077
+
1078
+ response = @sg.client.ips.warmup.post(request_body: data, request_headers: headers)
1079
+
1080
+ self.assert_equal('200', response.status_code)
1081
+ end
1082
+
1083
+ def test_ips_warmup_get
1084
+ headers = JSON.parse('{"X-Mock": 200}')
1085
+
1086
+ response = @sg.client.ips.warmup.get(request_headers: headers)
1087
+
1088
+ self.assert_equal('200', response.status_code)
1089
+ end
1090
+
1091
+ def test_ips_warmup__ip_address__get
1092
+ ip_address = "test_url_param"
1093
+ headers = JSON.parse('{"X-Mock": 200}')
1094
+
1095
+ response = @sg.client.ips.warmup._(ip_address).get(request_headers: headers)
1096
+
1097
+ self.assert_equal('200', response.status_code)
1098
+ end
1099
+
1100
+ def test_ips_warmup__ip_address__delete
1101
+ ip_address = "test_url_param"
1102
+ headers = JSON.parse('{"X-Mock": 204}')
1103
+
1104
+ response = @sg.client.ips.warmup._(ip_address).delete(request_headers: headers)
1105
+
1106
+ self.assert_equal('204', response.status_code)
1107
+ end
1108
+
1109
+ def test_ips__ip_address__get
1110
+ ip_address = "test_url_param"
1111
+ headers = JSON.parse('{"X-Mock": 200}')
1112
+
1113
+ response = @sg.client.ips._(ip_address).get(request_headers: headers)
1114
+
1115
+ self.assert_equal('200', response.status_code)
1116
+ end
1117
+
1118
+ def test_mail_batch_post
1119
+ headers = JSON.parse('{"X-Mock": 201}')
1120
+
1121
+ response = @sg.client.mail.batch.post(request_headers: headers)
1122
+
1123
+ self.assert_equal('201', response.status_code)
1124
+ end
1125
+
1126
+ def test_mail_batch__batch_id__get
1127
+ batch_id = "test_url_param"
1128
+ headers = JSON.parse('{"X-Mock": 200}')
1129
+
1130
+ response = @sg.client.mail.batch._(batch_id).get(request_headers: headers)
1131
+
1132
+ self.assert_equal('200', response.status_code)
1133
+ end
1134
+
1135
+ def test_mail_send_post
1136
+ data = JSON.parse('{
1137
+ "asm": {
1138
+ "group_id": 1,
1139
+ "groups_to_display": [
1140
+ 1,
1141
+ 2,
1142
+ 3
1143
+ ]
1144
+ },
1145
+ "attachments": [
1146
+ {
1147
+ "content": "[BASE64 encoded content block here]",
1148
+ "content_id": "ii_139db99fdb5c3704",
1149
+ "disposition": "inline",
1150
+ "filename": "file1.jpg",
1151
+ "name": "file1",
1152
+ "type": "jpg"
1153
+ }
1154
+ ],
1155
+ "batch_id": "[YOUR BATCH ID GOES HERE]",
1156
+ "categories": [
1157
+ "category1",
1158
+ "category2"
1159
+ ],
1160
+ "content": [
1161
+ {
1162
+ "type": "text/html",
1163
+ "value": "<html><p>Hello, world!</p><img src=[CID GOES HERE]></img></html>"
1164
+ }
1165
+ ],
1166
+ "custom_args": {
1167
+ "New Argument 1": "New Value 1",
1168
+ "activationAttempt": "1",
1169
+ "customerAccountNumber": "[CUSTOMER ACCOUNT NUMBER GOES HERE]"
1170
+ },
1171
+ "from": {
1172
+ "email": "sam.smith@example.com",
1173
+ "name": "Sam Smith"
1174
+ },
1175
+ "headers": {},
1176
+ "ip_pool_name": "[YOUR POOL NAME GOES HERE]",
1177
+ "mail_settings": {
1178
+ "bcc": {
1179
+ "email": "ben.doe@example.com",
1180
+ "enable": true
1181
+ },
1182
+ "bypass_list_management": {
1183
+ "enable": true
1184
+ },
1185
+ "footer": {
1186
+ "enable": true,
1187
+ "html": "<p>Thanks</br>The Twilio SendGrid Team</p>",
1188
+ "text": "Thanks,/n The Twilio SendGrid Team"
1189
+ },
1190
+ "sandbox_mode": {
1191
+ "enable": false
1192
+ },
1193
+ "spam_check": {
1194
+ "enable": true,
1195
+ "post_to_url": "http://example.com/compliance",
1196
+ "threshold": 3
1197
+ }
1198
+ },
1199
+ "personalizations": [
1200
+ {
1201
+ "bcc": [
1202
+ {
1203
+ "email": "sam.doe@example.com",
1204
+ "name": "Sam Doe"
1205
+ }
1206
+ ],
1207
+ "cc": [
1208
+ {
1209
+ "email": "jane.doe@example.com",
1210
+ "name": "Jane Doe"
1211
+ }
1212
+ ],
1213
+ "custom_args": {
1214
+ "New Argument 1": "New Value 1",
1215
+ "activationAttempt": "1",
1216
+ "customerAccountNumber": "[CUSTOMER ACCOUNT NUMBER GOES HERE]"
1217
+ },
1218
+ "headers": {
1219
+ "X-Accept-Language": "en",
1220
+ "X-Mailer": "MyApp"
1221
+ },
1222
+ "send_at": 1409348513,
1223
+ "subject": "Hello, World!",
1224
+ "substitutions": {
1225
+ "id": "substitutions",
1226
+ "type": "object"
1227
+ },
1228
+ "to": [
1229
+ {
1230
+ "email": "john.doe@example.com",
1231
+ "name": "John Doe"
1232
+ }
1233
+ ]
1234
+ }
1235
+ ],
1236
+ "reply_to": {
1237
+ "email": "sam.smith@example.com",
1238
+ "name": "Sam Smith"
1239
+ },
1240
+ "sections": {
1241
+ "section": {
1242
+ ":sectionName1": "section 1 text",
1243
+ ":sectionName2": "section 2 text"
1244
+ }
1245
+ },
1246
+ "send_at": 1409348513,
1247
+ "subject": "Hello, World!",
1248
+ "template_id": "[YOUR TEMPLATE ID GOES HERE]",
1249
+ "tracking_settings": {
1250
+ "click_tracking": {
1251
+ "enable": true,
1252
+ "enable_text": true
1253
+ },
1254
+ "ganalytics": {
1255
+ "enable": true,
1256
+ "utm_campaign": "[NAME OF YOUR REFERRER SOURCE]",
1257
+ "utm_content": "[USE THIS SPACE TO DIFFERENTIATE YOUR EMAIL FROM ADS]",
1258
+ "utm_medium": "[NAME OF YOUR MARKETING MEDIUM e.g. email]",
1259
+ "utm_name": "[NAME OF YOUR CAMPAIGN]",
1260
+ "utm_term": "[IDENTIFY PAID KEYWORDS HERE]"
1261
+ },
1262
+ "open_tracking": {
1263
+ "enable": true,
1264
+ "substitution_tag": "%opentrack"
1265
+ },
1266
+ "subscription_tracking": {
1267
+ "enable": true,
1268
+ "html": "If you would like to unsubscribe and stop receiving these emails <% clickhere %>.",
1269
+ "substitution_tag": "<%click here%>",
1270
+ "text": "If you would like to unsubscribe and stop receiveing these emails <% click here %>."
1271
+ }
1272
+ }
1273
+ }')
1274
+ headers = JSON.parse('{"X-Mock": 202}')
1275
+
1276
+ response = @sg.client.mail._("send").post(request_body: data, request_headers: headers)
1277
+
1278
+ self.assert_equal('202', response.status_code)
1279
+ end
1280
+
1281
+ def test_mail_settings_get
1282
+ params = JSON.parse('{"limit": 1, "offset": 1}')
1283
+ headers = JSON.parse('{"X-Mock": 200}')
1284
+
1285
+ response = @sg.client.mail_settings.get(query_params: params, request_headers: headers)
1286
+
1287
+ self.assert_equal('200', response.status_code)
1288
+ end
1289
+
1290
+ def test_mail_settings_address_whitelist_patch
1291
+ data = JSON.parse('{
1292
+ "enabled": true,
1293
+ "list": [
1294
+ "email1@example.com",
1295
+ "example.com"
1296
+ ]
1297
+ }')
1298
+ headers = JSON.parse('{"X-Mock": 200}')
1299
+
1300
+ response = @sg.client.mail_settings.address_whitelist.patch(request_body: data, request_headers: headers)
1301
+
1302
+ self.assert_equal('200', response.status_code)
1303
+ end
1304
+
1305
+ def test_mail_settings_address_whitelist_get
1306
+ headers = JSON.parse('{"X-Mock": 200}')
1307
+
1308
+ response = @sg.client.mail_settings.address_whitelist.get(request_headers: headers)
1309
+
1310
+ self.assert_equal('200', response.status_code)
1311
+ end
1312
+
1313
+ def test_mail_settings_bcc_patch
1314
+ data = JSON.parse('{
1315
+ "email": "email@example.com",
1316
+ "enabled": false
1317
+ }')
1318
+ headers = JSON.parse('{"X-Mock": 200}')
1319
+
1320
+ response = @sg.client.mail_settings.bcc.patch(request_body: data, request_headers: headers)
1321
+
1322
+ self.assert_equal('200', response.status_code)
1323
+ end
1324
+
1325
+ def test_mail_settings_bcc_get
1326
+ headers = JSON.parse('{"X-Mock": 200}')
1327
+
1328
+ response = @sg.client.mail_settings.bcc.get(request_headers: headers)
1329
+
1330
+ self.assert_equal('200', response.status_code)
1331
+ end
1332
+
1333
+ def test_mail_settings_bounce_purge_patch
1334
+ data = JSON.parse('{
1335
+ "enabled": true,
1336
+ "hard_bounces": 5,
1337
+ "soft_bounces": 5
1338
+ }')
1339
+ headers = JSON.parse('{"X-Mock": 200}')
1340
+
1341
+ response = @sg.client.mail_settings.bounce_purge.patch(request_body: data, request_headers: headers)
1342
+
1343
+ self.assert_equal('200', response.status_code)
1344
+ end
1345
+
1346
+ def test_mail_settings_bounce_purge_get
1347
+ headers = JSON.parse('{"X-Mock": 200}')
1348
+
1349
+ response = @sg.client.mail_settings.bounce_purge.get(request_headers: headers)
1350
+
1351
+ self.assert_equal('200', response.status_code)
1352
+ end
1353
+
1354
+ def test_mail_settings_footer_patch
1355
+ data = JSON.parse('{
1356
+ "enabled": true,
1357
+ "html_content": "...",
1358
+ "plain_content": "..."
1359
+ }')
1360
+ headers = JSON.parse('{"X-Mock": 200}')
1361
+
1362
+ response = @sg.client.mail_settings.footer.patch(request_body: data, request_headers: headers)
1363
+
1364
+ self.assert_equal('200', response.status_code)
1365
+ end
1366
+
1367
+ def test_mail_settings_footer_get
1368
+ headers = JSON.parse('{"X-Mock": 200}')
1369
+
1370
+ response = @sg.client.mail_settings.footer.get(request_headers: headers)
1371
+
1372
+ self.assert_equal('200', response.status_code)
1373
+ end
1374
+
1375
+ def test_mail_settings_forward_bounce_patch
1376
+ data = JSON.parse('{
1377
+ "email": "example@example.com",
1378
+ "enabled": true
1379
+ }')
1380
+ headers = JSON.parse('{"X-Mock": 200}')
1381
+
1382
+ response = @sg.client.mail_settings.forward_bounce.patch(request_body: data, request_headers: headers)
1383
+
1384
+ self.assert_equal('200', response.status_code)
1385
+ end
1386
+
1387
+ def test_mail_settings_forward_bounce_get
1388
+ headers = JSON.parse('{"X-Mock": 200}')
1389
+
1390
+ response = @sg.client.mail_settings.forward_bounce.get(request_headers: headers)
1391
+
1392
+ self.assert_equal('200', response.status_code)
1393
+ end
1394
+
1395
+ def test_mail_settings_forward_spam_patch
1396
+ data = JSON.parse('{
1397
+ "email": "",
1398
+ "enabled": false
1399
+ }')
1400
+ headers = JSON.parse('{"X-Mock": 200}')
1401
+
1402
+ response = @sg.client.mail_settings.forward_spam.patch(request_body: data, request_headers: headers)
1403
+
1404
+ self.assert_equal('200', response.status_code)
1405
+ end
1406
+
1407
+ def test_mail_settings_forward_spam_get
1408
+ headers = JSON.parse('{"X-Mock": 200}')
1409
+
1410
+ response = @sg.client.mail_settings.forward_spam.get(request_headers: headers)
1411
+
1412
+ self.assert_equal('200', response.status_code)
1413
+ end
1414
+
1415
+ def test_mail_settings_plain_content_patch
1416
+ data = JSON.parse('{
1417
+ "enabled": false
1418
+ }')
1419
+ headers = JSON.parse('{"X-Mock": 200}')
1420
+
1421
+ response = @sg.client.mail_settings.plain_content.patch(request_body: data, request_headers: headers)
1422
+
1423
+ self.assert_equal('200', response.status_code)
1424
+ end
1425
+
1426
+ def test_mail_settings_plain_content_get
1427
+ headers = JSON.parse('{"X-Mock": 200}')
1428
+
1429
+ response = @sg.client.mail_settings.plain_content.get(request_headers: headers)
1430
+
1431
+ self.assert_equal('200', response.status_code)
1432
+ end
1433
+
1434
+ def test_mail_settings_spam_check_patch
1435
+ data = JSON.parse('{
1436
+ "enabled": true,
1437
+ "max_score": 5,
1438
+ "url": "url"
1439
+ }')
1440
+ headers = JSON.parse('{"X-Mock": 200}')
1441
+
1442
+ response = @sg.client.mail_settings.spam_check.patch(request_body: data, request_headers: headers)
1443
+
1444
+ self.assert_equal('200', response.status_code)
1445
+ end
1446
+
1447
+ def test_mail_settings_spam_check_get
1448
+ headers = JSON.parse('{"X-Mock": 200}')
1449
+
1450
+ response = @sg.client.mail_settings.spam_check.get(request_headers: headers)
1451
+
1452
+ self.assert_equal('200', response.status_code)
1453
+ end
1454
+
1455
+ def test_mail_settings_template_patch
1456
+ data = JSON.parse('{
1457
+ "enabled": true,
1458
+ "html_content": "<% body %>"
1459
+ }')
1460
+ headers = JSON.parse('{"X-Mock": 200}')
1461
+
1462
+ response = @sg.client.mail_settings.template.patch(request_body: data, request_headers: headers)
1463
+
1464
+ self.assert_equal('200', response.status_code)
1465
+ end
1466
+
1467
+ def test_mail_settings_template_get
1468
+ headers = JSON.parse('{"X-Mock": 200}')
1469
+
1470
+ response = @sg.client.mail_settings.template.get(request_headers: headers)
1471
+
1472
+ self.assert_equal('200', response.status_code)
1473
+ end
1474
+
1475
+ def test_mailbox_providers_stats_get
1476
+ params = JSON.parse('{"end_date": "2016-04-01", "mailbox_providers": "test_string", "aggregated_by": "day", "limit": 1, "offset": 1, "start_date": "2016-01-01"}')
1477
+ headers = JSON.parse('{"X-Mock": 200}')
1478
+
1479
+ response = @sg.client.mailbox_providers.stats.get(query_params: params, request_headers: headers)
1480
+
1481
+ self.assert_equal('200', response.status_code)
1482
+ end
1483
+
1484
+ def test_partner_settings_get
1485
+ params = JSON.parse('{"limit": 1, "offset": 1}')
1486
+ headers = JSON.parse('{"X-Mock": 200}')
1487
+
1488
+ response = @sg.client.partner_settings.get(query_params: params, request_headers: headers)
1489
+
1490
+ self.assert_equal('200', response.status_code)
1491
+ end
1492
+
1493
+ def test_partner_settings_new_relic_patch
1494
+ data = JSON.parse('{
1495
+ "enable_subuser_statistics": true,
1496
+ "enabled": true,
1497
+ "license_key": ""
1498
+ }')
1499
+ headers = JSON.parse('{"X-Mock": 200}')
1500
+
1501
+ response = @sg.client.partner_settings.new_relic.patch(request_body: data, request_headers: headers)
1502
+
1503
+ self.assert_equal('200', response.status_code)
1504
+ end
1505
+
1506
+ def test_partner_settings_new_relic_get
1507
+ headers = JSON.parse('{"X-Mock": 200}')
1508
+
1509
+ response = @sg.client.partner_settings.new_relic.get(request_headers: headers)
1510
+
1511
+ self.assert_equal('200', response.status_code)
1512
+ end
1513
+
1514
+ def test_scopes_get
1515
+ headers = JSON.parse('{"X-Mock": 200}')
1516
+
1517
+ response = @sg.client.scopes.get(request_headers: headers)
1518
+
1519
+ self.assert_equal('200', response.status_code)
1520
+ end
1521
+
1522
+ def test_senders_post
1523
+ data = JSON.parse('{
1524
+ "address": "123 Elm St.",
1525
+ "address_2": "Apt. 456",
1526
+ "city": "Denver",
1527
+ "country": "United States",
1528
+ "from": {
1529
+ "email": "from@example.com",
1530
+ "name": "Example INC"
1531
+ },
1532
+ "nickname": "My Sender ID",
1533
+ "reply_to": {
1534
+ "email": "replyto@example.com",
1535
+ "name": "Example INC"
1536
+ },
1537
+ "state": "Colorado",
1538
+ "zip": "80202"
1539
+ }')
1540
+ headers = JSON.parse('{"X-Mock": 201}')
1541
+ response = @sg.client.senders.post(request_body: data, request_headers: headers)
1542
+ self.assert_equal(response.status_code, "201")
1543
+ end
1544
+
1545
+ def test_senders_get
1546
+ headers = JSON.parse('{"X-Mock": 200}')
1547
+ response = @sg.client.senders.get(request_headers: headers)
1548
+ self.assert_equal(response.status_code, "200")
1549
+ end
1550
+
1551
+ def test_senders__sender_id__patch
1552
+ data = JSON.parse('{
1553
+ "address": "123 Elm St.",
1554
+ "address_2": "Apt. 456",
1555
+ "city": "Denver",
1556
+ "country": "United States",
1557
+ "from": {
1558
+ "email": "from@example.com",
1559
+ "name": "Example INC"
1560
+ },
1561
+ "nickname": "My Sender ID",
1562
+ "reply_to": {
1563
+ "email": "replyto@example.com",
1564
+ "name": "Example INC"
1565
+ },
1566
+ "state": "Colorado",
1567
+ "zip": "80202"
1568
+ }')
1569
+ sender_id = "test_url_param"
1570
+ headers = JSON.parse('{"X-Mock": 200}')
1571
+ response = @sg.client.senders._(sender_id).patch(request_body: data, request_headers: headers)
1572
+ self.assert_equal(response.status_code, "200")
1573
+ end
1574
+
1575
+ def test_senders__sender_id__get
1576
+ sender_id = "test_url_param"
1577
+ headers = JSON.parse('{"X-Mock": 200}')
1578
+ response = @sg.client.senders._(sender_id).get(request_headers: headers)
1579
+ self.assert_equal(response.status_code, "200")
1580
+ end
1581
+
1582
+ def test_senders__sender_id__delete
1583
+ sender_id = "test_url_param"
1584
+ headers = JSON.parse('{"X-Mock": 204}')
1585
+ response = @sg.client.senders._(sender_id).delete(request_headers: headers)
1586
+ self.assert_equal(response.status_code, "204")
1587
+ end
1588
+
1589
+ def test_senders__sender_id__resend_verification_post
1590
+ sender_id = "test_url_param"
1591
+ headers = JSON.parse('{"X-Mock": 204}')
1592
+ response = @sg.client.senders._(sender_id).resend_verification.post(request_headers: headers)
1593
+ self.assert_equal(response.status_code, "204")
1594
+ end
1595
+
1596
+ def test_stats_get
1597
+ params = JSON.parse('{"aggregated_by": "day", "limit": 1, "start_date": "2016-01-01", "end_date": "2016-04-01", "offset": 1}')
1598
+ headers = JSON.parse('{"X-Mock": 200}')
1599
+
1600
+ response = @sg.client.stats.get(query_params: params, request_headers: headers)
1601
+
1602
+ self.assert_equal('200', response.status_code)
1603
+ end
1604
+
1605
+ def test_subusers_post
1606
+ data = JSON.parse('{
1607
+ "email": "John@example.com",
1608
+ "ips": [
1609
+ "1.1.1.1",
1610
+ "2.2.2.2"
1611
+ ],
1612
+ "password": "johns_password",
1613
+ "username": "John@example.com"
1614
+ }')
1615
+ headers = JSON.parse('{"X-Mock": 200}')
1616
+
1617
+ response = @sg.client.subusers.post(request_body: data, request_headers: headers)
1618
+
1619
+ self.assert_equal('200', response.status_code)
1620
+ end
1621
+
1622
+ def test_subusers_get
1623
+ params = JSON.parse('{"username": "test_string", "limit": 1, "offset": 1}')
1624
+ headers = JSON.parse('{"X-Mock": 200}')
1625
+
1626
+ response = @sg.client.subusers.get(query_params: params, request_headers: headers)
1627
+
1628
+ self.assert_equal('200', response.status_code)
1629
+ end
1630
+
1631
+ def test_subusers_reputations_get
1632
+ params = JSON.parse('{"usernames": "test_string"}')
1633
+ headers = JSON.parse('{"X-Mock": 200}')
1634
+
1635
+ response = @sg.client.subusers.reputations.get(query_params: params, request_headers: headers)
1636
+
1637
+ self.assert_equal('200', response.status_code)
1638
+ end
1639
+
1640
+ def test_subusers_stats_get
1641
+ params = JSON.parse('{"end_date": "2016-04-01", "aggregated_by": "day", "limit": 1, "offset": 1, "start_date": "2016-01-01", "subusers": "test_string"}')
1642
+ headers = JSON.parse('{"X-Mock": 200}')
1643
+
1644
+ response = @sg.client.subusers.stats.get(query_params: params, request_headers: headers)
1645
+
1646
+ self.assert_equal('200', response.status_code)
1647
+ end
1648
+
1649
+ def test_subusers_stats_monthly_get
1650
+ params = JSON.parse('{"subuser": "test_string", "limit": 1, "sort_by_metric": "test_string", "offset": 1, "date": "test_string", "sort_by_direction": "asc"}')
1651
+ headers = JSON.parse('{"X-Mock": 200}')
1652
+
1653
+ response = @sg.client.subusers.stats.monthly.get(query_params: params, request_headers: headers)
1654
+
1655
+ self.assert_equal('200', response.status_code)
1656
+ end
1657
+
1658
+ def test_subusers_stats_sums_get
1659
+ params = JSON.parse('{"end_date": "2016-04-01", "aggregated_by": "day", "limit": 1, "sort_by_metric": "test_string", "offset": 1, "start_date": "2016-01-01", "sort_by_direction": "asc"}')
1660
+ headers = JSON.parse('{"X-Mock": 200}')
1661
+
1662
+ response = @sg.client.subusers.stats.sums.get(query_params: params, request_headers: headers)
1663
+
1664
+ self.assert_equal('200', response.status_code)
1665
+ end
1666
+
1667
+ def test_subusers__subuser_name__patch
1668
+ data = JSON.parse('{
1669
+ "disabled": false
1670
+ }')
1671
+ subuser_name = "test_url_param"
1672
+ headers = JSON.parse('{"X-Mock": 204}')
1673
+
1674
+ response = @sg.client.subusers._(subuser_name).patch(request_body: data, request_headers: headers)
1675
+
1676
+ self.assert_equal('204', response.status_code)
1677
+ end
1678
+
1679
+ def test_subusers__subuser_name__delete
1680
+ subuser_name = "test_url_param"
1681
+ headers = JSON.parse('{"X-Mock": 204}')
1682
+
1683
+ response = @sg.client.subusers._(subuser_name).delete(request_headers: headers)
1684
+
1685
+ self.assert_equal('204', response.status_code)
1686
+ end
1687
+
1688
+ def test_subusers__subuser_name__ips_put
1689
+ data = JSON.parse('[
1690
+ "127.0.0.1"
1691
+ ]')
1692
+ subuser_name = "test_url_param"
1693
+ headers = JSON.parse('{"X-Mock": 200}')
1694
+
1695
+ response = @sg.client.subusers._(subuser_name).ips.put(request_body: data, request_headers: headers)
1696
+
1697
+ self.assert_equal('200', response.status_code)
1698
+ end
1699
+
1700
+ def test_subusers__subuser_name__monitor_put
1701
+ data = JSON.parse('{
1702
+ "email": "example@example.com",
1703
+ "frequency": 500
1704
+ }')
1705
+ subuser_name = "test_url_param"
1706
+ headers = JSON.parse('{"X-Mock": 200}')
1707
+
1708
+ response = @sg.client.subusers._(subuser_name).monitor.put(request_body: data, request_headers: headers)
1709
+
1710
+ self.assert_equal('200', response.status_code)
1711
+ end
1712
+
1713
+ def test_subusers__subuser_name__monitor_post
1714
+ data = JSON.parse('{
1715
+ "email": "example@example.com",
1716
+ "frequency": 50000
1717
+ }')
1718
+ subuser_name = "test_url_param"
1719
+ headers = JSON.parse('{"X-Mock": 200}')
1720
+
1721
+ response = @sg.client.subusers._(subuser_name).monitor.post(request_body: data, request_headers: headers)
1722
+
1723
+ self.assert_equal('200', response.status_code)
1724
+ end
1725
+
1726
+ def test_subusers__subuser_name__monitor_get
1727
+ subuser_name = "test_url_param"
1728
+ headers = JSON.parse('{"X-Mock": 200}')
1729
+
1730
+ response = @sg.client.subusers._(subuser_name).monitor.get(request_headers: headers)
1731
+
1732
+ self.assert_equal('200', response.status_code)
1733
+ end
1734
+
1735
+ def test_subusers__subuser_name__monitor_delete
1736
+ subuser_name = "test_url_param"
1737
+ headers = JSON.parse('{"X-Mock": 204}')
1738
+
1739
+ response = @sg.client.subusers._(subuser_name).monitor.delete(request_headers: headers)
1740
+
1741
+ self.assert_equal('204', response.status_code)
1742
+ end
1743
+
1744
+ def test_subusers__subuser_name__stats_monthly_get
1745
+ params = JSON.parse('{"date": "test_string", "sort_by_direction": "asc", "limit": 1, "sort_by_metric": "test_string", "offset": 1}')
1746
+ subuser_name = "test_url_param"
1747
+ headers = JSON.parse('{"X-Mock": 200}')
1748
+
1749
+ response = @sg.client.subusers._(subuser_name).stats.monthly.get(query_params: params, request_headers: headers)
1750
+
1751
+ self.assert_equal('200', response.status_code)
1752
+ end
1753
+
1754
+ def test_suppression_blocks_get
1755
+ params = JSON.parse('{"start_time": 1, "limit": 1, "end_time": 1, "offset": 1}')
1756
+ headers = JSON.parse('{"X-Mock": 200}')
1757
+
1758
+ response = @sg.client.suppression.blocks.get(query_params: params, request_headers: headers)
1759
+
1760
+ self.assert_equal('200', response.status_code)
1761
+ end
1762
+
1763
+ def test_suppression_blocks_delete
1764
+ data = JSON.parse('{
1765
+ "delete_all": false,
1766
+ "emails": [
1767
+ "example1@example.com",
1768
+ "example2@example.com"
1769
+ ]
1770
+ }')
1771
+ headers = JSON.parse('{"X-Mock": 204}')
1772
+
1773
+ response = @sg.client.suppression.blocks.delete(request_body: data, request_headers: headers)
1774
+
1775
+ self.assert_equal('204', response.status_code)
1776
+ end
1777
+
1778
+ def test_suppression_blocks__email__get
1779
+ email = "test_url_param"
1780
+ headers = JSON.parse('{"X-Mock": 200}')
1781
+
1782
+ response = @sg.client.suppression.blocks._(email).get(request_headers: headers)
1783
+
1784
+ self.assert_equal('200', response.status_code)
1785
+ end
1786
+
1787
+ def test_suppression_blocks__email__delete
1788
+ email = "test_url_param"
1789
+ headers = JSON.parse('{"X-Mock": 204}')
1790
+
1791
+ response = @sg.client.suppression.blocks._(email).delete(request_headers: headers)
1792
+
1793
+ self.assert_equal('204', response.status_code)
1794
+ end
1795
+
1796
+ def test_suppression_bounces_get
1797
+ params = JSON.parse('{"start_time": 1, "end_time": 1}')
1798
+ headers = JSON.parse('{"X-Mock": 200}')
1799
+
1800
+ response = @sg.client.suppression.bounces.get(query_params: params, request_headers: headers)
1801
+
1802
+ self.assert_equal('200', response.status_code)
1803
+ end
1804
+
1805
+ def test_suppression_bounces_delete
1806
+ data = JSON.parse('{
1807
+ "delete_all": true,
1808
+ "emails": [
1809
+ "example@example.com",
1810
+ "example2@example.com"
1811
+ ]
1812
+ }')
1813
+ headers = JSON.parse('{"X-Mock": 204}')
1814
+
1815
+ response = @sg.client.suppression.bounces.delete(request_body: data, request_headers: headers)
1816
+
1817
+ self.assert_equal('204', response.status_code)
1818
+ end
1819
+
1820
+ def test_suppression_bounces__email__get
1821
+ email = "test_url_param"
1822
+ headers = JSON.parse('{"X-Mock": 200}')
1823
+
1824
+ response = @sg.client.suppression.bounces._(email).get(request_headers: headers)
1825
+
1826
+ self.assert_equal('200', response.status_code)
1827
+ end
1828
+
1829
+ def test_suppression_bounces__email__delete
1830
+ params = JSON.parse('{"email_address": "example@example.com"}')
1831
+ email = "test_url_param"
1832
+ headers = JSON.parse('{"X-Mock": 204}')
1833
+
1834
+ response = @sg.client.suppression.bounces._(email).delete(query_params: params, request_headers: headers)
1835
+
1836
+ self.assert_equal('204', response.status_code)
1837
+ end
1838
+
1839
+ def test_suppression_invalid_emails_get
1840
+ params = JSON.parse('{"start_time": 1, "limit": 1, "end_time": 1, "offset": 1}')
1841
+ headers = JSON.parse('{"X-Mock": 200}')
1842
+
1843
+ response = @sg.client.suppression.invalid_emails.get(query_params: params, request_headers: headers)
1844
+
1845
+ self.assert_equal('200', response.status_code)
1846
+ end
1847
+
1848
+ def test_suppression_invalid_emails_delete
1849
+ data = JSON.parse('{
1850
+ "delete_all": false,
1851
+ "emails": [
1852
+ "example1@example.com",
1853
+ "example2@example.com"
1854
+ ]
1855
+ }')
1856
+ headers = JSON.parse('{"X-Mock": 204}')
1857
+
1858
+ response = @sg.client.suppression.invalid_emails.delete(request_body: data, request_headers: headers)
1859
+
1860
+ self.assert_equal('204', response.status_code)
1861
+ end
1862
+
1863
+ def test_suppression_invalid_emails__email__get
1864
+ email = "test_url_param"
1865
+ headers = JSON.parse('{"X-Mock": 200}')
1866
+
1867
+ response = @sg.client.suppression.invalid_emails._(email).get(request_headers: headers)
1868
+
1869
+ self.assert_equal('200', response.status_code)
1870
+ end
1871
+
1872
+ def test_suppression_invalid_emails__email__delete
1873
+ email = "test_url_param"
1874
+ headers = JSON.parse('{"X-Mock": 204}')
1875
+
1876
+ response = @sg.client.suppression.invalid_emails._(email).delete(request_headers: headers)
1877
+
1878
+ self.assert_equal('204', response.status_code)
1879
+ end
1880
+
1881
+ def test_suppression_spam_report__email__get
1882
+ email = "test_url_param"
1883
+ headers = JSON.parse('{"X-Mock": 200}')
1884
+
1885
+ response = @sg.client.suppression.spam_reports._(email).get(request_headers: headers)
1886
+
1887
+ self.assert_equal('200', response.status_code)
1888
+ end
1889
+
1890
+ def test_suppression_spam_report__email__delete
1891
+ email = "test_url_param"
1892
+ headers = JSON.parse('{"X-Mock": 204}')
1893
+
1894
+ response = @sg.client.suppression.spam_reports._(email).delete(request_headers: headers)
1895
+
1896
+ self.assert_equal('204', response.status_code)
1897
+ end
1898
+
1899
+ def test_suppression_spam_reports_get
1900
+ params = JSON.parse('{"start_time": 1, "limit": 1, "end_time": 1, "offset": 1}')
1901
+ headers = JSON.parse('{"X-Mock": 200}')
1902
+
1903
+ response = @sg.client.suppression.spam_reports.get(query_params: params, request_headers: headers)
1904
+
1905
+ self.assert_equal('200', response.status_code)
1906
+ end
1907
+
1908
+ def test_suppression_spam_reports_delete
1909
+ data = JSON.parse('{
1910
+ "delete_all": false,
1911
+ "emails": [
1912
+ "example1@example.com",
1913
+ "example2@example.com"
1914
+ ]
1915
+ }')
1916
+ headers = JSON.parse('{"X-Mock": 204}')
1917
+
1918
+ response = @sg.client.suppression.spam_reports.delete(request_body: data, request_headers: headers)
1919
+
1920
+ self.assert_equal('204', response.status_code)
1921
+ end
1922
+
1923
+ def test_suppression_unsubscribes_get
1924
+ params = JSON.parse('{"start_time": 1, "limit": 1, "end_time": 1, "offset": 1}')
1925
+ headers = JSON.parse('{"X-Mock": 200}')
1926
+
1927
+ response = @sg.client.suppression.unsubscribes.get(query_params: params, request_headers: headers)
1928
+
1929
+ self.assert_equal('200', response.status_code)
1930
+ end
1931
+
1932
+ def test_templates_post
1933
+ data = JSON.parse('{
1934
+ "name": "example_name"
1935
+ }')
1936
+ headers = JSON.parse('{"X-Mock": 201}')
1937
+
1938
+ response = @sg.client.templates.post(request_body: data, request_headers: headers)
1939
+
1940
+ self.assert_equal('201', response.status_code)
1941
+ end
1942
+
1943
+ def test_templates_get
1944
+ headers = JSON.parse('{"X-Mock": 200}')
1945
+
1946
+ response = @sg.client.templates.get(request_headers: headers)
1947
+
1948
+ self.assert_equal('200', response.status_code)
1949
+ end
1950
+
1951
+ def test_templates__template_id__patch
1952
+ data = JSON.parse('{
1953
+ "name": "new_example_name"
1954
+ }')
1955
+ template_id = "test_url_param"
1956
+ headers = JSON.parse('{"X-Mock": 200}')
1957
+
1958
+ response = @sg.client.templates._(template_id).patch(request_body: data, request_headers: headers)
1959
+
1960
+ self.assert_equal('200', response.status_code)
1961
+ end
1962
+
1963
+ def test_templates__template_id__get
1964
+ template_id = "test_url_param"
1965
+ headers = JSON.parse('{"X-Mock": 200}')
1966
+
1967
+ response = @sg.client.templates._(template_id).get(request_headers: headers)
1968
+
1969
+ self.assert_equal('200', response.status_code)
1970
+ end
1971
+
1972
+ def test_templates__template_id__delete
1973
+ template_id = "test_url_param"
1974
+ headers = JSON.parse('{"X-Mock": 204}')
1975
+
1976
+ response = @sg.client.templates._(template_id).delete(request_headers: headers)
1977
+
1978
+ self.assert_equal('204', response.status_code)
1979
+ end
1980
+
1981
+ def test_templates__template_id__versions_post
1982
+ data = JSON.parse('{
1983
+ "active": 1,
1984
+ "html_content": "<%body%>",
1985
+ "name": "example_version_name",
1986
+ "plain_content": "<%body%>",
1987
+ "subject": "<%subject%>",
1988
+ "template_id": "ddb96bbc-9b92-425e-8979-99464621b543"
1989
+ }')
1990
+ template_id = "test_url_param"
1991
+ headers = JSON.parse('{"X-Mock": 201}')
1992
+
1993
+ response = @sg.client.templates._(template_id).versions.post(request_body: data, request_headers: headers)
1994
+
1995
+ self.assert_equal('201', response.status_code)
1996
+ end
1997
+
1998
+ def test_templates__template_id__versions__version_id__patch
1999
+ data = JSON.parse('{
2000
+ "active": 1,
2001
+ "html_content": "<%body%>",
2002
+ "name": "updated_example_name",
2003
+ "plain_content": "<%body%>",
2004
+ "subject": "<%subject%>"
2005
+ }')
2006
+ template_id = "test_url_param"
2007
+ version_id = "test_url_param"
2008
+ headers = JSON.parse('{"X-Mock": 200}')
2009
+
2010
+ response = @sg.client.templates._(template_id).versions._(version_id).patch(request_body: data, request_headers: headers)
2011
+
2012
+ self.assert_equal('200', response.status_code)
2013
+ end
2014
+
2015
+ def test_templates__template_id__versions__version_id__get
2016
+ template_id = "test_url_param"
2017
+ version_id = "test_url_param"
2018
+ headers = JSON.parse('{"X-Mock": 200}')
2019
+
2020
+ response = @sg.client.templates._(template_id).versions._(version_id).get(request_headers: headers)
2021
+
2022
+ self.assert_equal('200', response.status_code)
2023
+ end
2024
+
2025
+ def test_templates__template_id__versions__version_id__delete
2026
+ template_id = "test_url_param"
2027
+ version_id = "test_url_param"
2028
+ headers = JSON.parse('{"X-Mock": 204}')
2029
+
2030
+ response = @sg.client.templates._(template_id).versions._(version_id).delete(request_headers: headers)
2031
+
2032
+ self.assert_equal('204', response.status_code)
2033
+ end
2034
+
2035
+ def test_templates__template_id__versions__version_id__activate_post
2036
+ template_id = "test_url_param"
2037
+ version_id = "test_url_param"
2038
+ headers = JSON.parse('{"X-Mock": 200}')
2039
+
2040
+ response = @sg.client.templates._(template_id).versions._(version_id).activate.post(request_headers: headers)
2041
+
2042
+ self.assert_equal('200', response.status_code)
2043
+ end
2044
+
2045
+ def test_tracking_settings_get
2046
+ params = JSON.parse('{"limit": 1, "offset": 1}')
2047
+ headers = JSON.parse('{"X-Mock": 200}')
2048
+
2049
+ response = @sg.client.tracking_settings.get(query_params: params, request_headers: headers)
2050
+
2051
+ self.assert_equal('200', response.status_code)
2052
+ end
2053
+
2054
+ def test_tracking_settings_click_patch
2055
+ data = JSON.parse('{
2056
+ "enabled": true
2057
+ }')
2058
+ headers = JSON.parse('{"X-Mock": 200}')
2059
+
2060
+ response = @sg.client.tracking_settings.click.patch(request_body: data, request_headers: headers)
2061
+
2062
+ self.assert_equal('200', response.status_code)
2063
+ end
2064
+
2065
+ def test_tracking_settings_click_get
2066
+ headers = JSON.parse('{"X-Mock": 200}')
2067
+
2068
+ response = @sg.client.tracking_settings.click.get(request_headers: headers)
2069
+
2070
+ self.assert_equal('200', response.status_code)
2071
+ end
2072
+
2073
+ def test_tracking_settings_google_analytics_patch
2074
+ data = JSON.parse('{
2075
+ "enabled": true,
2076
+ "utm_campaign": "website",
2077
+ "utm_content": "",
2078
+ "utm_medium": "email",
2079
+ "utm_source": "sendgrid.com",
2080
+ "utm_term": ""
2081
+ }')
2082
+ headers = JSON.parse('{"X-Mock": 200}')
2083
+
2084
+ response = @sg.client.tracking_settings.google_analytics.patch(request_body: data, request_headers: headers)
2085
+
2086
+ self.assert_equal('200', response.status_code)
2087
+ end
2088
+
2089
+ def test_tracking_settings_google_analytics_get
2090
+ headers = JSON.parse('{"X-Mock": 200}')
2091
+
2092
+ response = @sg.client.tracking_settings.google_analytics.get(request_headers: headers)
2093
+
2094
+ self.assert_equal('200', response.status_code)
2095
+ end
2096
+
2097
+ def test_tracking_settings_open_patch
2098
+ data = JSON.parse('{
2099
+ "enabled": true
2100
+ }')
2101
+ headers = JSON.parse('{"X-Mock": 200}')
2102
+
2103
+ response = @sg.client.tracking_settings.open.patch(request_body: data, request_headers: headers)
2104
+
2105
+ self.assert_equal('200', response.status_code)
2106
+ end
2107
+
2108
+ def test_tracking_settings_open_get
2109
+ headers = JSON.parse('{"X-Mock": 200}')
2110
+
2111
+ response = @sg.client.tracking_settings.open.get(request_headers: headers)
2112
+
2113
+ self.assert_equal('200', response.status_code)
2114
+ end
2115
+
2116
+ def test_tracking_settings_subscription_patch
2117
+ data = JSON.parse('{
2118
+ "enabled": true,
2119
+ "html_content": "html content",
2120
+ "landing": "landing page html",
2121
+ "plain_content": "text content",
2122
+ "replace": "replacement tag",
2123
+ "url": "url"
2124
+ }')
2125
+ headers = JSON.parse('{"X-Mock": 200}')
2126
+
2127
+ response = @sg.client.tracking_settings.subscription.patch(request_body: data, request_headers: headers)
2128
+
2129
+ self.assert_equal('200', response.status_code)
2130
+ end
2131
+
2132
+ def test_tracking_settings_subscription_get
2133
+ headers = JSON.parse('{"X-Mock": 200}')
2134
+
2135
+ response = @sg.client.tracking_settings.subscription.get(request_headers: headers)
2136
+
2137
+ self.assert_equal('200', response.status_code)
2138
+ end
2139
+
2140
+ def test_user_account_get
2141
+ headers = JSON.parse('{"X-Mock": 200}')
2142
+
2143
+ response = @sg.client.user.account.get(request_headers: headers)
2144
+
2145
+ self.assert_equal('200', response.status_code)
2146
+ end
2147
+
2148
+ def test_user_credits_get
2149
+ headers = JSON.parse('{"X-Mock": 200}')
2150
+
2151
+ response = @sg.client.user.credits.get(request_headers: headers)
2152
+
2153
+ self.assert_equal('200', response.status_code)
2154
+ end
2155
+
2156
+ def test_user_email_put
2157
+ data = JSON.parse('{
2158
+ "email": "example@example.com"
2159
+ }')
2160
+ headers = JSON.parse('{"X-Mock": 200}')
2161
+
2162
+ response = @sg.client.user.email.put(request_body: data, request_headers: headers)
2163
+
2164
+ self.assert_equal('200', response.status_code)
2165
+ end
2166
+
2167
+ def test_user_email_get
2168
+ headers = JSON.parse('{"X-Mock": 200}')
2169
+
2170
+ response = @sg.client.user.email.get(request_headers: headers)
2171
+
2172
+ self.assert_equal('200', response.status_code)
2173
+ end
2174
+
2175
+ def test_user_password_put
2176
+ data = JSON.parse('{
2177
+ "new_password": "new_password",
2178
+ "old_password": "old_password"
2179
+ }')
2180
+ headers = JSON.parse('{"X-Mock": 200}')
2181
+
2182
+ response = @sg.client.user.password.put(request_body: data, request_headers: headers)
2183
+
2184
+ self.assert_equal('200', response.status_code)
2185
+ end
2186
+
2187
+ def test_user_profile_patch
2188
+ data = JSON.parse('{
2189
+ "city": "Orange",
2190
+ "first_name": "Example",
2191
+ "last_name": "User"
2192
+ }')
2193
+ headers = JSON.parse('{"X-Mock": 200}')
2194
+
2195
+ response = @sg.client.user.profile.patch(request_body: data, request_headers: headers)
2196
+
2197
+ self.assert_equal('200', response.status_code)
2198
+ end
2199
+
2200
+ def test_user_profile_get
2201
+ headers = JSON.parse('{"X-Mock": 200}')
2202
+
2203
+ response = @sg.client.user.profile.get(request_headers: headers)
2204
+
2205
+ self.assert_equal('200', response.status_code)
2206
+ end
2207
+
2208
+ def test_user_scheduled_sends_post
2209
+ data = JSON.parse('{
2210
+ "batch_id": "YOUR_BATCH_ID",
2211
+ "status": "pause"
2212
+ }')
2213
+ headers = JSON.parse('{"X-Mock": 201}')
2214
+
2215
+ response = @sg.client.user.scheduled_sends.post(request_body: data, request_headers: headers)
2216
+
2217
+ self.assert_equal('201', response.status_code)
2218
+ end
2219
+
2220
+ def test_user_scheduled_sends_get
2221
+ headers = JSON.parse('{"X-Mock": 200}')
2222
+
2223
+ response = @sg.client.user.scheduled_sends.get(request_headers: headers)
2224
+
2225
+ self.assert_equal('200', response.status_code)
2226
+ end
2227
+
2228
+ def test_user_scheduled_sends__batch_id__patch
2229
+ data = JSON.parse('{
2230
+ "status": "pause"
2231
+ }')
2232
+ batch_id = "test_url_param"
2233
+ headers = JSON.parse('{"X-Mock": 204}')
2234
+
2235
+ response = @sg.client.user.scheduled_sends._(batch_id).patch(request_body: data, request_headers: headers)
2236
+
2237
+ self.assert_equal('204', response.status_code)
2238
+ end
2239
+
2240
+ def test_user_scheduled_sends__batch_id__get
2241
+ batch_id = "test_url_param"
2242
+ headers = JSON.parse('{"X-Mock": 200}')
2243
+
2244
+ response = @sg.client.user.scheduled_sends._(batch_id).get(request_headers: headers)
2245
+
2246
+ self.assert_equal('200', response.status_code)
2247
+ end
2248
+
2249
+ def test_user_scheduled_sends__batch_id__delete
2250
+ batch_id = "test_url_param"
2251
+ headers = JSON.parse('{"X-Mock": 204}')
2252
+
2253
+ response = @sg.client.user.scheduled_sends._(batch_id).delete(request_headers: headers)
2254
+
2255
+ self.assert_equal('204', response.status_code)
2256
+ end
2257
+
2258
+ def test_user_settings_enforced_tls_patch
2259
+ data = JSON.parse('{
2260
+ "require_tls": true,
2261
+ "require_valid_cert": false
2262
+ }')
2263
+ headers = JSON.parse('{"X-Mock": 200}')
2264
+
2265
+ response = @sg.client.user.settings.enforced_tls.patch(request_body: data, request_headers: headers)
2266
+
2267
+ self.assert_equal('200', response.status_code)
2268
+ end
2269
+
2270
+ def test_user_settings_enforced_tls_get
2271
+ headers = JSON.parse('{"X-Mock": 200}')
2272
+
2273
+ response = @sg.client.user.settings.enforced_tls.get(request_headers: headers)
2274
+
2275
+ self.assert_equal('200', response.status_code)
2276
+ end
2277
+
2278
+ def test_user_username_put
2279
+ data = JSON.parse('{
2280
+ "username": "test_username"
2281
+ }')
2282
+ headers = JSON.parse('{"X-Mock": 200}')
2283
+
2284
+ response = @sg.client.user.username.put(request_body: data, request_headers: headers)
2285
+
2286
+ self.assert_equal('200', response.status_code)
2287
+ end
2288
+
2289
+ def test_user_username_get
2290
+ headers = JSON.parse('{"X-Mock": 200}')
2291
+
2292
+ response = @sg.client.user.username.get(request_headers: headers)
2293
+
2294
+ self.assert_equal('200', response.status_code)
2295
+ end
2296
+
2297
+ def test_user_webhooks_event_settings_patch
2298
+ data = JSON.parse('{
2299
+ "bounce": true,
2300
+ "click": true,
2301
+ "deferred": true,
2302
+ "delivered": true,
2303
+ "dropped": true,
2304
+ "enabled": true,
2305
+ "group_resubscribe": true,
2306
+ "group_unsubscribe": true,
2307
+ "open": true,
2308
+ "processed": true,
2309
+ "spam_report": true,
2310
+ "unsubscribe": true,
2311
+ "url": "url"
2312
+ }')
2313
+ headers = JSON.parse('{"X-Mock": 200}')
2314
+
2315
+ response = @sg.client.user.webhooks.event.settings.patch(request_body: data, request_headers: headers)
2316
+
2317
+ self.assert_equal('200', response.status_code)
2318
+ end
2319
+
2320
+ def test_user_webhooks_event_settings_get
2321
+ headers = JSON.parse('{"X-Mock": 200}')
2322
+
2323
+ response = @sg.client.user.webhooks.event.settings.get(request_headers: headers)
2324
+
2325
+ self.assert_equal('200', response.status_code)
2326
+ end
2327
+
2328
+ def test_user_webhooks_event_test_post
2329
+ data = JSON.parse('{
2330
+ "url": "url"
2331
+ }')
2332
+ headers = JSON.parse('{"X-Mock": 204}')
2333
+
2334
+ response = @sg.client.user.webhooks.event.test.post(request_body: data, request_headers: headers)
2335
+
2336
+ self.assert_equal('204', response.status_code)
2337
+ end
2338
+
2339
+ def test_user_webhooks_parse_settings_post
2340
+ data = JSON.parse('{
2341
+ "hostname": "myhostname.com",
2342
+ "send_raw": false,
2343
+ "spam_check": true,
2344
+ "url": "http://email.myhosthame.com"
2345
+ }')
2346
+ headers = JSON.parse('{"X-Mock": 201}')
2347
+
2348
+ response = @sg.client.user.webhooks.parse.settings.post(request_body: data, request_headers: headers)
2349
+
2350
+ self.assert_equal('201', response.status_code)
2351
+ end
2352
+
2353
+ def test_user_webhooks_parse_settings_get
2354
+ headers = JSON.parse('{"X-Mock": 200}')
2355
+
2356
+ response = @sg.client.user.webhooks.parse.settings.get(request_headers: headers)
2357
+
2358
+ self.assert_equal('200', response.status_code)
2359
+ end
2360
+
2361
+ def test_user_webhooks_parse_settings__hostname__patch
2362
+ data = JSON.parse('{
2363
+ "send_raw": true,
2364
+ "spam_check": false,
2365
+ "url": "http://newdomain.com/parse"
2366
+ }')
2367
+ hostname = "test_url_param"
2368
+ headers = JSON.parse('{"X-Mock": 200}')
2369
+
2370
+ response = @sg.client.user.webhooks.parse.settings._(hostname).patch(request_body: data, request_headers: headers)
2371
+
2372
+ self.assert_equal('200', response.status_code)
2373
+ end
2374
+
2375
+ def test_user_webhooks_parse_settings__hostname__get
2376
+ hostname = "test_url_param"
2377
+ headers = JSON.parse('{"X-Mock": 200}')
2378
+
2379
+ response = @sg.client.user.webhooks.parse.settings._(hostname).get(request_headers: headers)
2380
+
2381
+ self.assert_equal('200', response.status_code)
2382
+ end
2383
+
2384
+ def test_user_webhooks_parse_settings__hostname__delete
2385
+ hostname = "test_url_param"
2386
+ headers = JSON.parse('{"X-Mock": 204}')
2387
+
2388
+ response = @sg.client.user.webhooks.parse.settings._(hostname).delete(request_headers: headers)
2389
+
2390
+ self.assert_equal('204', response.status_code)
2391
+ end
2392
+
2393
+ def test_user_webhooks_parse_stats_get
2394
+ params = JSON.parse('{"aggregated_by": "day", "limit": "test_string", "start_date": "2016-01-01", "end_date": "2016-04-01", "offset": "test_string"}')
2395
+ headers = JSON.parse('{"X-Mock": 200}')
2396
+
2397
+ response = @sg.client.user.webhooks.parse.stats.get(query_params: params, request_headers: headers)
2398
+
2399
+ self.assert_equal('200', response.status_code)
2400
+ end
2401
+
2402
+ def test_whitelabel_domains_post
2403
+ data = JSON.parse('{
2404
+ "automatic_security": false,
2405
+ "custom_spf": true,
2406
+ "default": true,
2407
+ "domain": "example.com",
2408
+ "ips": [
2409
+ "192.168.1.1",
2410
+ "192.168.1.2"
2411
+ ],
2412
+ "subdomain": "news",
2413
+ "username": "john@example.com"
2414
+ }')
2415
+ headers = JSON.parse('{"X-Mock": 201}')
2416
+
2417
+ response = @sg.client.whitelabel.domains.post(request_body: data, request_headers: headers)
2418
+
2419
+ self.assert_equal('201', response.status_code)
2420
+ end
2421
+
2422
+ def test_whitelabel_domains_get
2423
+ params = JSON.parse('{"username": "test_string", "domain": "test_string", "exclude_subusers": "true", "limit": 1, "offset": 1}')
2424
+ headers = JSON.parse('{"X-Mock": 200}')
2425
+
2426
+ response = @sg.client.whitelabel.domains.get(query_params: params, request_headers: headers)
2427
+
2428
+ self.assert_equal('200', response.status_code)
2429
+ end
2430
+
2431
+ def test_whitelabel_domains_default_get
2432
+ headers = JSON.parse('{"X-Mock": 200}')
2433
+
2434
+ response = @sg.client.whitelabel.domains.default.get(request_headers: headers)
2435
+
2436
+ self.assert_equal('200', response.status_code)
2437
+ end
2438
+
2439
+ def test_whitelabel_domains_subuser_get
2440
+ headers = JSON.parse('{"X-Mock": 200}')
2441
+
2442
+ response = @sg.client.whitelabel.domains.subuser.get(request_headers: headers)
2443
+
2444
+ self.assert_equal('200', response.status_code)
2445
+ end
2446
+
2447
+ def test_whitelabel_domains_subuser_delete
2448
+ headers = JSON.parse('{"X-Mock": 204}')
2449
+
2450
+ response = @sg.client.whitelabel.domains.subuser.delete(request_headers: headers)
2451
+
2452
+ self.assert_equal('204', response.status_code)
2453
+ end
2454
+
2455
+ def test_whitelabel_domains__domain_id__patch
2456
+ data = JSON.parse('{
2457
+ "custom_spf": true,
2458
+ "default": false
2459
+ }')
2460
+ domain_id = "test_url_param"
2461
+ headers = JSON.parse('{"X-Mock": 200}')
2462
+
2463
+ response = @sg.client.whitelabel.domains._(domain_id).patch(request_body: data, request_headers: headers)
2464
+
2465
+ self.assert_equal('200', response.status_code)
2466
+ end
2467
+
2468
+ def test_whitelabel_domains__domain_id__get
2469
+ domain_id = "test_url_param"
2470
+ headers = JSON.parse('{"X-Mock": 200}')
2471
+
2472
+ response = @sg.client.whitelabel.domains._(domain_id).get(request_headers: headers)
2473
+
2474
+ self.assert_equal('200', response.status_code)
2475
+ end
2476
+
2477
+ def test_whitelabel_domains__domain_id__delete
2478
+ domain_id = "test_url_param"
2479
+ headers = JSON.parse('{"X-Mock": 204}')
2480
+
2481
+ response = @sg.client.whitelabel.domains._(domain_id).delete(request_headers: headers)
2482
+
2483
+ self.assert_equal('204', response.status_code)
2484
+ end
2485
+
2486
+ def test_whitelabel_domains__domain_id__subuser_post
2487
+ data = JSON.parse('{
2488
+ "username": "jane@example.com"
2489
+ }')
2490
+ domain_id = "test_url_param"
2491
+ headers = JSON.parse('{"X-Mock": 201}')
2492
+
2493
+ response = @sg.client.whitelabel.domains._(domain_id).subuser.post(request_body: data, request_headers: headers)
2494
+
2495
+ self.assert_equal('201', response.status_code)
2496
+ end
2497
+
2498
+ def test_whitelabel_domains__id__ips_post
2499
+ data = JSON.parse('{
2500
+ "ip": "192.168.0.1"
2501
+ }')
2502
+ id = "test_url_param"
2503
+ headers = JSON.parse('{"X-Mock": 200}')
2504
+
2505
+ response = @sg.client.whitelabel.domains._(id).ips.post(request_body: data, request_headers: headers)
2506
+
2507
+ self.assert_equal('200', response.status_code)
2508
+ end
2509
+
2510
+ def test_whitelabel_domains__id__ips__ip__delete
2511
+ id = "test_url_param"
2512
+ ip = "test_url_param"
2513
+ headers = JSON.parse('{"X-Mock": 200}')
2514
+
2515
+ response = @sg.client.whitelabel.domains._(id).ips._(ip).delete(request_headers: headers)
2516
+
2517
+ self.assert_equal('200', response.status_code)
2518
+ end
2519
+
2520
+ def test_whitelabel_domains__id__validate_post
2521
+ id = "test_url_param"
2522
+ headers = JSON.parse('{"X-Mock": 200}')
2523
+
2524
+ response = @sg.client.whitelabel.domains._(id).validate.post(request_headers: headers)
2525
+
2526
+ self.assert_equal('200', response.status_code)
2527
+ end
2528
+
2529
+ def test_whitelabel_ips_post
2530
+ data = JSON.parse('{
2531
+ "domain": "example.com",
2532
+ "ip": "192.168.1.1",
2533
+ "subdomain": "email"
2534
+ }')
2535
+ headers = JSON.parse('{"X-Mock": 201}')
2536
+
2537
+ response = @sg.client.whitelabel.ips.post(request_body: data, request_headers: headers)
2538
+
2539
+ self.assert_equal('201', response.status_code)
2540
+ end
2541
+
2542
+ def test_whitelabel_ips_get
2543
+ params = JSON.parse('{"ip": "test_string", "limit": 1, "offset": 1}')
2544
+ headers = JSON.parse('{"X-Mock": 200}')
2545
+
2546
+ response = @sg.client.whitelabel.ips.get(query_params: params, request_headers: headers)
2547
+
2548
+ self.assert_equal('200', response.status_code)
2549
+ end
2550
+
2551
+ def test_whitelabel_ips__id__get
2552
+ id = "test_url_param"
2553
+ headers = JSON.parse('{"X-Mock": 200}')
2554
+
2555
+ response = @sg.client.whitelabel.ips._(id).get(request_headers: headers)
2556
+
2557
+ self.assert_equal('200', response.status_code)
2558
+ end
2559
+
2560
+ def test_whitelabel_ips__id__delete
2561
+ id = "test_url_param"
2562
+ headers = JSON.parse('{"X-Mock": 204}')
2563
+
2564
+ response = @sg.client.whitelabel.ips._(id).delete(request_headers: headers)
2565
+
2566
+ self.assert_equal('204', response.status_code)
2567
+ end
2568
+
2569
+ def test_whitelabel_ips__id__validate_post
2570
+ id = "test_url_param"
2571
+ headers = JSON.parse('{"X-Mock": 200}')
2572
+
2573
+ response = @sg.client.whitelabel.ips._(id).validate.post(request_headers: headers)
2574
+
2575
+ self.assert_equal('200', response.status_code)
2576
+ end
2577
+
2578
+ def test_whitelabel_links_post
2579
+ data = JSON.parse('{
2580
+ "default": true,
2581
+ "domain": "example.com",
2582
+ "subdomain": "mail"
2583
+ }')
2584
+ params = JSON.parse('{"limit": 1, "offset": 1}')
2585
+ headers = JSON.parse('{"X-Mock": 201}')
2586
+
2587
+ response = @sg.client.whitelabel.links.post(request_body: data, query_params: params, request_headers: headers)
2588
+
2589
+ self.assert_equal('201', response.status_code)
2590
+ end
2591
+
2592
+ def test_whitelabel_links_get
2593
+ params = JSON.parse('{"limit": 1}')
2594
+ headers = JSON.parse('{"X-Mock": 200}')
2595
+
2596
+ response = @sg.client.whitelabel.links.get(query_params: params, request_headers: headers)
2597
+
2598
+ self.assert_equal('200', response.status_code)
2599
+ end
2600
+
2601
+ def test_whitelabel_links_default_get
2602
+ params = JSON.parse('{"domain": "test_string"}')
2603
+ headers = JSON.parse('{"X-Mock": 200}')
2604
+
2605
+ response = @sg.client.whitelabel.links.default.get(query_params: params, request_headers: headers)
2606
+
2607
+ self.assert_equal('200', response.status_code)
2608
+ end
2609
+
2610
+ def test_whitelabel_links_subuser_get
2611
+ params = JSON.parse('{"username": "test_string"}')
2612
+ headers = JSON.parse('{"X-Mock": 200}')
2613
+
2614
+ response = @sg.client.whitelabel.links.subuser.get(query_params: params, request_headers: headers)
2615
+
2616
+ self.assert_equal('200', response.status_code)
2617
+ end
2618
+
2619
+ def test_whitelabel_links_subuser_delete
2620
+ params = JSON.parse('{"username": "test_string"}')
2621
+ headers = JSON.parse('{"X-Mock": 204}')
2622
+
2623
+ response = @sg.client.whitelabel.links.subuser.delete(query_params: params, request_headers: headers)
2624
+
2625
+ self.assert_equal('204', response.status_code)
2626
+ end
2627
+
2628
+ def test_whitelabel_links__id__patch
2629
+ data = JSON.parse('{
2630
+ "default": true
2631
+ }')
2632
+ id = "test_url_param"
2633
+ headers = JSON.parse('{"X-Mock": 200}')
2634
+
2635
+ response = @sg.client.whitelabel.links._(id).patch(request_body: data, request_headers: headers)
2636
+
2637
+ self.assert_equal('200', response.status_code)
2638
+ end
2639
+
2640
+ def test_whitelabel_links__id__get
2641
+ id = "test_url_param"
2642
+ headers = JSON.parse('{"X-Mock": 200}')
2643
+
2644
+ response = @sg.client.whitelabel.links._(id).get(request_headers: headers)
2645
+
2646
+ self.assert_equal('200', response.status_code)
2647
+ end
2648
+
2649
+ def test_whitelabel_links__id__delete
2650
+ id = "test_url_param"
2651
+ headers = JSON.parse('{"X-Mock": 204}')
2652
+
2653
+ response = @sg.client.whitelabel.links._(id).delete(request_headers: headers)
2654
+
2655
+ self.assert_equal('204', response.status_code)
2656
+ end
2657
+
2658
+ def test_whitelabel_links__id__validate_post
2659
+ id = "test_url_param"
2660
+ headers = JSON.parse('{"X-Mock": 200}')
2661
+
2662
+ response = @sg.client.whitelabel.links._(id).validate.post(request_headers: headers)
2663
+
2664
+ self.assert_equal('200', response.status_code)
2665
+ end
2666
+
2667
+ def test_whitelabel_links__link_id__subuser_post
2668
+ data = JSON.parse('{
2669
+ "username": "jane@example.com"
2670
+ }')
2671
+ link_id = "test_url_param"
2672
+ headers = JSON.parse('{"X-Mock": 200}')
2673
+
2674
+ response = @sg.client.whitelabel.links._(link_id).subuser.post(request_body: data, request_headers: headers)
2675
+
2676
+ self.assert_equal('200', response.status_code)
2677
+ end
2678
+
2679
+
2680
+ def test_license_file_correct_year_range
2681
+ if File.exist?('./LICENSE.md')
2682
+ # get only the first line from the license txt file
2683
+ year_range = File.open('./LICENSE.md', &:readline).gsub(/[^\d-]/, '')
2684
+ self.assert_equal("#{Time.now.year}", year_range)
2685
+ end
2686
+ end
2687
+
2688
+ def test_docker_exists
2689
+ assert(File.file?('./Docker') || File.file?('./docker/Dockerfile'))
2690
+ end
2691
+
2692
+ # def test_docker_compose_exists
2693
+ # assert(File.file?('./docker-compose.yml') || File.file?('./docker/docker-compose.yml'))
2694
+ # end
2695
+
2696
+ def test_env_sample_exists
2697
+ assert(File.file?('./.env_sample'))
2698
+ end
2699
+
2700
+ def test_gitignore_exists
2701
+ assert(File.file?('./.gitignore'))
2702
+ end
2703
+
2704
+ def test_travis_exists
2705
+ assert(File.file?('./.travis.yml'))
2706
+ end
2707
+
2708
+ def test_codeclimate_exists
2709
+ assert(File.file?('./.codeclimate.yml'))
2710
+ end
2711
+
2712
+ def test_changelog_exists
2713
+ assert(File.file?('./CHANGELOG.md'))
2714
+ end
2715
+
2716
+ def test_code_of_conduct_exists
2717
+ assert(File.file?('./CODE_OF_CONDUCT.md'))
2718
+ end
2719
+
2720
+ def test_contributing_exists
2721
+ assert(File.file?('./CONTRIBUTING.md'))
2722
+ end
2723
+
2724
+ def test_issue_template_exists
2725
+ assert(File.file?('./ISSUE_TEMPLATE.md'))
2726
+ end
2727
+
2728
+ def test_license_exists
2729
+ assert(File.file?('./LICENSE.md'))
2730
+ end
2731
+
2732
+ def test_pull_request_template_exists
2733
+ assert(File.file?('./PULL_REQUEST_TEMPLATE.md'))
2734
+ end
2735
+
2736
+ def test_readme_exists
2737
+ assert(File.file?('./README.md'))
2738
+ end
2739
+
2740
+ def test_troubleshooting_exists
2741
+ assert(File.file?('./TROUBLESHOOTING.md'))
2742
+ end
2743
+
2744
+ def test_usage_exists
2745
+ assert(File.file?('./USAGE.md'))
2746
+ end
2747
+
2748
+ def test_use_cases_exists
2749
+ assert(File.file?('./USE_CASES.md'))
2750
+ end
2751
+ end