sendgrid-ruby 1.1.6 → 6.0.4

Sign up to get free protection for your applications and to get access to all the features.
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