sendgrid4r 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,869 @@
1
+ # encoding: utf-8
2
+ require File.dirname(__FILE__) + '/../../spec_helper'
3
+
4
+ describe SendGrid4r::REST::Settings::Mail do
5
+ describe 'integration test', :it do
6
+ before do
7
+ Dotenv.load
8
+ @client = SendGrid4r::Client.new(
9
+ username: ENV['SENDGRID_USERNAME'],
10
+ password: ENV['SENDGRID_PASSWORD'])
11
+ end
12
+
13
+ context 'without block call' do
14
+ it '#get_mail_settings' do
15
+ begin
16
+ actual = @client.get_mail_settings
17
+ expect(
18
+ actual
19
+ ).to be_a(SendGrid4r::REST::Settings::Results)
20
+ rescue => e
21
+ puts e.inspect
22
+ raise e
23
+ end
24
+ end
25
+
26
+ it '#get_settings_address_whitelist' do
27
+ begin
28
+ actual = @client.get_settings_address_whitelist
29
+ expect(actual).to be_a(
30
+ SendGrid4r::REST::Settings::Mail::AddressWhitelist
31
+ )
32
+ rescue => e
33
+ puts e.inspect
34
+ raise e
35
+ end
36
+ end
37
+
38
+ it '#patch_settings_address_whitelist' do
39
+ begin
40
+ # get original settings
41
+ actual = @client.get_settings_address_whitelist
42
+ # patch the value
43
+ actual.enabled = false
44
+ actual.list = ['test@white.list.com', 'white.list.com']
45
+ edit = @client.patch_settings_address_whitelist(params: actual)
46
+ expect(edit.enabled).to eq(false)
47
+ expect(edit.list[0]).to eq('test@white.list.com')
48
+ expect(edit.list[1]).to eq('white.list.com')
49
+ rescue => e
50
+ puts e.inspect
51
+ raise e
52
+ end
53
+ end
54
+
55
+ it '#get_settings_bcc' do
56
+ begin
57
+ actual = @client.get_settings_bcc
58
+ expect(actual).to be_a(SendGrid4r::REST::Settings::Mail::Bcc)
59
+ rescue => e
60
+ puts e.inspect
61
+ raise e
62
+ end
63
+ end
64
+
65
+ it '#patch_settings_bcc' do
66
+ begin
67
+ # get original settings
68
+ actual = @client.get_settings_bcc
69
+ # patch the value
70
+ actual.enabled = false
71
+ actual.email = 'test@bcc.com'
72
+ edit = @client.patch_settings_bcc(params: actual)
73
+ expect(edit.enabled).to eq(false)
74
+ expect(edit.email).to eq('test@bcc.com')
75
+ rescue => e
76
+ puts e.inspect
77
+ raise e
78
+ end
79
+ end
80
+
81
+ it '#get_settings_bounce_purge' do
82
+ begin
83
+ actual = @client.get_settings_bounce_purge
84
+ expect(actual).to be_a(SendGrid4r::REST::Settings::Mail::BouncePurge)
85
+ rescue => e
86
+ puts e.inspect
87
+ raise e
88
+ end
89
+ end
90
+
91
+ it '#patch_settings_bounce_purge' do
92
+ begin
93
+ # get original settings
94
+ actual = @client.get_settings_bounce_purge
95
+ # patch the value
96
+ actual.enabled = false
97
+ # actual.hard_bounces = 123
98
+ # actual.soft_bounces = 321
99
+ edit = @client.patch_settings_bounce_purge(params: actual)
100
+ expect(edit.enabled).to eq(false)
101
+ # expect(actual.hard_bounces).to eq(123)
102
+ # expect(actual.soft_bounces).to eq(321)
103
+ rescue => e
104
+ puts e.inspect
105
+ raise e
106
+ end
107
+ end
108
+
109
+ it '#get_settings_event_notification' do
110
+ begin
111
+ actual = @client.get_settings_event_notification
112
+ expect(actual).to be_a(
113
+ SendGrid4r::REST::Settings::Mail::EventNotification
114
+ )
115
+ rescue => e
116
+ puts e.inspect
117
+ raise e
118
+ end
119
+ end
120
+
121
+ it '#patch_settings_event_notification' do
122
+ begin
123
+ # get original settings
124
+ actual = @client.get_settings_event_notification
125
+ # patch the value
126
+ actual.enabled = false
127
+ actual.url = 'http://www.google.com/?=test@test.com'
128
+ actual.group_resubscribe = true
129
+ actual.delivered = true
130
+ actual.group_unsubscribe = true
131
+ actual.spam_report = true
132
+ actual.bounce = true
133
+ actual.deferred = true
134
+ actual.unsubscribe = true
135
+ actual.processed = true
136
+ actual.open = true
137
+ actual.click = true
138
+ actual.dropped = true
139
+ edit = @client.patch_settings_event_notification(params: actual)
140
+ expect(edit.enabled).to eq(false)
141
+ expect(edit.url).to eq('http://www.google.com/?=test@test.com')
142
+ expect(edit.group_resubscribe).to eq(true)
143
+ expect(edit.delivered).to eq(true)
144
+ expect(edit.group_unsubscribe).to eq(true)
145
+ expect(edit.spam_report).to eq(true)
146
+ expect(edit.bounce).to eq(true)
147
+ expect(edit.deferred).to eq(true)
148
+ expect(edit.unsubscribe).to eq(true)
149
+ expect(edit.processed).to eq(true)
150
+ expect(edit.open).to eq(true)
151
+ expect(edit.click).to eq(true)
152
+ expect(edit.dropped).to eq(true)
153
+ rescue => e
154
+ puts e.inspect
155
+ raise e
156
+ end
157
+ end
158
+
159
+ it '#test_settings_event_notification' do
160
+ begin
161
+ @client.test_settings_event_notification(url: ENV['EVENT_URL'])
162
+ rescue => e
163
+ puts e.inspect
164
+ raise e
165
+ end
166
+ end
167
+
168
+ it '#get_settings_footer' do
169
+ begin
170
+ actual = @client.get_settings_footer
171
+ expect(actual).to be_a(SendGrid4r::REST::Settings::Mail::Footer)
172
+ rescue => e
173
+ puts e.inspect
174
+ raise e
175
+ end
176
+ end
177
+
178
+ it '#patch_settings_footer' do
179
+ begin
180
+ # get original settings
181
+ actual = @client.get_settings_footer
182
+ # patch the value
183
+ actual.enabled = false
184
+ actual.html_content = 'abc...'
185
+ actual.plain_content = 'xyz...'
186
+ edit = @client.patch_settings_footer(params: actual)
187
+ expect(edit.enabled).to eq(false)
188
+ expect(edit.html_content).to eq('abc...')
189
+ expect(edit.plain_content).to eq('xyz...')
190
+ rescue => e
191
+ puts e.inspect
192
+ raise e
193
+ end
194
+ end
195
+
196
+ it '#get_settings_forward_bounce' do
197
+ begin
198
+ actual = @client.get_settings_forward_bounce
199
+ expect(actual).to be_a(
200
+ SendGrid4r::REST::Settings::Mail::ForwardBounce
201
+ )
202
+ rescue => e
203
+ puts e.inspect
204
+ raise e
205
+ end
206
+ end
207
+
208
+ it '#patch_settings_forward_bounce' do
209
+ begin
210
+ # get original settings
211
+ actual = @client.get_settings_forward_bounce
212
+ # patch the value
213
+ actual.enabled = false
214
+ actual.email = ENV['MAIL']
215
+ edit = @client.patch_settings_forward_bounce(params: actual)
216
+ expect(edit.enabled).to eq(false)
217
+ expect(edit.email).to eq(ENV['MAIL'])
218
+ rescue => e
219
+ puts e.inspect
220
+ raise e
221
+ end
222
+ end
223
+
224
+ it '#get_settings_forward_spam' do
225
+ begin
226
+ actual = @client.get_settings_forward_spam
227
+ expect(actual).to be_a(
228
+ SendGrid4r::REST::Settings::Mail::ForwardSpam
229
+ )
230
+ rescue => e
231
+ puts e.inspect
232
+ raise e
233
+ end
234
+ end
235
+
236
+ it '#patch_settings_forward_spam' do
237
+ begin
238
+ # get original settings
239
+ actual = @client.get_settings_forward_spam
240
+ # patch the value
241
+ actual.enabled = false
242
+ actual.email = ENV['MAIL']
243
+ edit = @client.patch_settings_forward_spam(params: actual)
244
+ expect(edit.enabled).to eq(false)
245
+ expect(edit.email).to eq(ENV['MAIL'])
246
+ rescue => e
247
+ puts e.inspect
248
+ raise e
249
+ end
250
+ end
251
+
252
+ it '#get_settings_template' do
253
+ begin
254
+ actual = @client.get_settings_template
255
+ expect(actual).to be_a(SendGrid4r::REST::Settings::Mail::Template)
256
+ rescue => e
257
+ puts e.inspect
258
+ raise e
259
+ end
260
+ end
261
+
262
+ it '#patch_settings_template' do
263
+ begin
264
+ # get original settings
265
+ actual = @client.get_settings_template
266
+ # patch the value
267
+ actual.enabled = false
268
+ actual.html_content = '...<% body %>'
269
+ edit = @client.patch_settings_template(params: actual)
270
+ expect(edit.enabled).to eq(false)
271
+ expect(edit.html_content).to eq('...<% body %>')
272
+ rescue => e
273
+ puts e.inspect
274
+ raise e
275
+ end
276
+ end
277
+
278
+ it '#get_settings_plain_content' do
279
+ begin
280
+ actual = @client.get_settings_plain_content
281
+ expect(actual).to be_a(SendGrid4r::REST::Settings::Mail::PlainContent)
282
+ rescue => e
283
+ puts e.inspect
284
+ raise e
285
+ end
286
+ end
287
+
288
+ it '#patch_settings_plain_content' do
289
+ begin
290
+ # get original settings
291
+ actual = @client.get_settings_plain_content
292
+ # patch the value
293
+ actual.enabled = false
294
+ edit = @client.patch_settings_plain_content(params: actual)
295
+ expect(edit.enabled).to eq(false)
296
+ rescue => e
297
+ puts e.inspect
298
+ raise e
299
+ end
300
+ end
301
+ end
302
+
303
+ context 'with block call' do
304
+ it '#get_mail_settings' do
305
+ @client.get_mail_settings do |resp, req, res|
306
+ resp =
307
+ SendGrid4r::REST::Settings.create_results(
308
+ JSON.parse(resp)
309
+ )
310
+ expect(resp).to be_a(SendGrid4r::REST::Settings::Results)
311
+ resp.result.each do |result|
312
+ expect(result).to be_a(SendGrid4r::REST::Settings::Result)
313
+ end
314
+ expect(req).to be_a(RestClient::Request)
315
+ expect(res).to be_a(Net::HTTPOK)
316
+ end
317
+ end
318
+
319
+ it '#get_settings_address_whitelist' do
320
+ @client.get_settings_address_whitelist do |resp, req, res|
321
+ resp =
322
+ SendGrid4r::REST::Settings::Mail.create_address_whitelist(
323
+ JSON.parse(resp)
324
+ )
325
+ expect(resp).to be_a(
326
+ SendGrid4r::REST::Settings::Mail::AddressWhitelist
327
+ )
328
+ expect(req).to be_a(RestClient::Request)
329
+ expect(res).to be_a(Net::HTTPOK)
330
+ end
331
+ end
332
+
333
+ it '#patch_settings_address_whitelist' do
334
+ params = @client.get_settings_address_whitelist
335
+ @client.patch_settings_address_whitelist(
336
+ params: params
337
+ ) do |resp, req, res|
338
+ resp =
339
+ SendGrid4r::REST::Settings::Mail.create_address_whitelist(
340
+ JSON.parse(resp)
341
+ )
342
+ expect(resp).to be_a(
343
+ SendGrid4r::REST::Settings::Mail::AddressWhitelist
344
+ )
345
+ expect(req).to be_a(RestClient::Request)
346
+ expect(res).to be_a(Net::HTTPOK)
347
+ end
348
+ end
349
+
350
+ it '#get_settings_bcc' do
351
+ @client.get_settings_bcc do |resp, req, res|
352
+ resp =
353
+ SendGrid4r::REST::Settings::Mail.create_bcc(
354
+ JSON.parse(resp)
355
+ )
356
+ expect(resp).to be_a(SendGrid4r::REST::Settings::Mail::Bcc)
357
+ expect(req).to be_a(RestClient::Request)
358
+ expect(res).to be_a(Net::HTTPOK)
359
+ end
360
+ end
361
+
362
+ it '#patch_settings_bcc' do
363
+ params = @client.get_settings_bcc
364
+ @client.patch_settings_bcc(params: params) do |resp, req, res|
365
+ resp =
366
+ SendGrid4r::REST::Settings::Mail.create_bcc(
367
+ JSON.parse(resp)
368
+ )
369
+ expect(resp).to be_a(SendGrid4r::REST::Settings::Mail::Bcc)
370
+ expect(req).to be_a(RestClient::Request)
371
+ expect(res).to be_a(Net::HTTPOK)
372
+ end
373
+ end
374
+
375
+ it '#get_settings_bounce_purge' do
376
+ @client.get_settings_bounce_purge do |resp, req, res|
377
+ resp =
378
+ SendGrid4r::REST::Settings::Mail.create_bounce_purge(
379
+ JSON.parse(resp)
380
+ )
381
+ expect(resp).to be_a(SendGrid4r::REST::Settings::Mail::BouncePurge)
382
+ expect(req).to be_a(RestClient::Request)
383
+ expect(res).to be_a(Net::HTTPOK)
384
+ end
385
+ end
386
+
387
+ it '#patch_settings_bounce_purge' do
388
+ params = @client.get_settings_bounce_purge
389
+ @client.patch_settings_bounce_purge(params: params) do |resp, req, res|
390
+ resp =
391
+ SendGrid4r::REST::Settings::Mail.create_bounce_purge(
392
+ JSON.parse(resp)
393
+ )
394
+ expect(resp).to be_a(SendGrid4r::REST::Settings::Mail::BouncePurge)
395
+ expect(req).to be_a(RestClient::Request)
396
+ expect(res).to be_a(Net::HTTPOK)
397
+ end
398
+ end
399
+
400
+ it '#get_settings_event_notification' do
401
+ @client.get_settings_event_notification do |resp, req, res|
402
+ resp =
403
+ SendGrid4r::REST::Settings::Mail.create_event_notification(
404
+ JSON.parse(resp)
405
+ )
406
+ expect(resp).to be_a(
407
+ SendGrid4r::REST::Settings::Mail::EventNotification
408
+ )
409
+ expect(req).to be_a(RestClient::Request)
410
+ expect(res).to be_a(Net::HTTPOK)
411
+ end
412
+ end
413
+
414
+ it '#patch_settings_event_notification' do
415
+ params = @client.get_settings_event_notification
416
+ @client.patch_settings_event_notification(
417
+ params: params
418
+ ) do |resp, req, res|
419
+ resp =
420
+ SendGrid4r::REST::Settings::Mail.create_event_notification(
421
+ JSON.parse(resp)
422
+ )
423
+ expect(resp).to be_a(
424
+ SendGrid4r::REST::Settings::Mail::EventNotification
425
+ )
426
+ expect(req).to be_a(RestClient::Request)
427
+ expect(res).to be_a(Net::HTTPOK)
428
+ end
429
+ end
430
+
431
+ it '#test_settings_event_notification' do
432
+ begin
433
+ @client.test_settings_event_notification(
434
+ url: ENV['EVENT_URL']
435
+ ) do |resp, req, res|
436
+ expect(resp).to eq('')
437
+ expect(req).to be_a(RestClient::Request)
438
+ expect(res).to be_a(Net::HTTPNoContent)
439
+ end
440
+ rescue => e
441
+ puts e.inspect
442
+ raise e
443
+ end
444
+ end
445
+
446
+ it '#get_settings_footer' do
447
+ @client.get_settings_footer do |resp, req, res|
448
+ resp =
449
+ SendGrid4r::REST::Settings::Mail.create_footer(
450
+ JSON.parse(resp)
451
+ )
452
+ expect(resp).to be_a(SendGrid4r::REST::Settings::Mail::Footer)
453
+ expect(req).to be_a(RestClient::Request)
454
+ expect(res).to be_a(Net::HTTPOK)
455
+ end
456
+ end
457
+
458
+ it '#patch_settings_footer' do
459
+ params = @client.get_settings_footer
460
+ @client.patch_settings_footer(params: params) do |resp, req, res|
461
+ resp =
462
+ SendGrid4r::REST::Settings::Mail.create_footer(
463
+ JSON.parse(resp)
464
+ )
465
+ expect(resp).to be_a(SendGrid4r::REST::Settings::Mail::Footer)
466
+ expect(req).to be_a(RestClient::Request)
467
+ expect(res).to be_a(Net::HTTPOK)
468
+ end
469
+ end
470
+
471
+ it '#get_settings_forward_bounce' do
472
+ @client.get_settings_forward_bounce do |resp, req, res|
473
+ resp =
474
+ SendGrid4r::REST::Settings::Mail.create_forward_bounce(
475
+ JSON.parse(resp)
476
+ )
477
+ expect(resp).to be_a(SendGrid4r::REST::Settings::Mail::ForwardBounce)
478
+ expect(req).to be_a(RestClient::Request)
479
+ expect(res).to be_a(Net::HTTPOK)
480
+ end
481
+ end
482
+
483
+ it '#patch_settings_forward_bounce' do
484
+ params = @client.get_settings_forward_bounce
485
+ @client.patch_settings_forward_bounce(
486
+ params: params
487
+ ) do |resp, req, res|
488
+ resp =
489
+ SendGrid4r::REST::Settings::Mail.create_forward_bounce(
490
+ JSON.parse(resp)
491
+ )
492
+ expect(resp).to be_a(SendGrid4r::REST::Settings::Mail::ForwardBounce)
493
+ expect(req).to be_a(RestClient::Request)
494
+ expect(res).to be_a(Net::HTTPOK)
495
+ end
496
+ end
497
+
498
+ it '#get_settings_forward_spam' do
499
+ @client.get_settings_forward_spam do |resp, req, res|
500
+ resp =
501
+ SendGrid4r::REST::Settings::Mail.create_forward_spam(
502
+ JSON.parse(resp)
503
+ )
504
+ expect(resp).to be_a(SendGrid4r::REST::Settings::Mail::ForwardSpam)
505
+ expect(req).to be_a(RestClient::Request)
506
+ expect(res).to be_a(Net::HTTPOK)
507
+ end
508
+ end
509
+
510
+ it '#patch_settings_forward_spam' do
511
+ params = @client.get_settings_forward_spam
512
+ @client.patch_settings_forward_spam(params: params) do |resp, req, res|
513
+ resp =
514
+ SendGrid4r::REST::Settings::Mail.create_forward_spam(
515
+ JSON.parse(resp)
516
+ )
517
+ expect(resp).to be_a(SendGrid4r::REST::Settings::Mail::ForwardSpam)
518
+ expect(req).to be_a(RestClient::Request)
519
+ expect(res).to be_a(Net::HTTPOK)
520
+ end
521
+ end
522
+
523
+ it '#get_settings_template' do
524
+ @client.get_settings_template do |resp, req, res|
525
+ resp =
526
+ SendGrid4r::REST::Settings::Mail.create_template(
527
+ JSON.parse(resp)
528
+ )
529
+ expect(resp).to be_a(SendGrid4r::REST::Settings::Mail::Template)
530
+ expect(req).to be_a(RestClient::Request)
531
+ expect(res).to be_a(Net::HTTPOK)
532
+ end
533
+ end
534
+
535
+ it '#patch_settings_template' do
536
+ params = @client.get_settings_template
537
+ @client.patch_settings_template(params: params) do |resp, req, res|
538
+ resp =
539
+ SendGrid4r::REST::Settings::Mail.create_template(
540
+ JSON.parse(resp)
541
+ )
542
+ expect(resp).to be_a(SendGrid4r::REST::Settings::Mail::Template)
543
+ expect(req).to be_a(RestClient::Request)
544
+ expect(res).to be_a(Net::HTTPOK)
545
+ end
546
+ end
547
+
548
+ it '#get_settings_plain_content' do
549
+ @client.get_settings_template do |resp, req, res|
550
+ resp =
551
+ SendGrid4r::REST::Settings::Mail.create_plain_content(
552
+ JSON.parse(resp)
553
+ )
554
+ expect(resp).to be_a(SendGrid4r::REST::Settings::Mail::PlainContent)
555
+ expect(req).to be_a(RestClient::Request)
556
+ expect(res).to be_a(Net::HTTPOK)
557
+ end
558
+ end
559
+
560
+ it '#patch_settings_plain_content' do
561
+ params = @client.get_settings_plain_content
562
+ @client.patch_settings_plain_content(params: params) do |resp, req, res|
563
+ resp =
564
+ SendGrid4r::REST::Settings::Mail.create_plain_content(
565
+ JSON.parse(resp)
566
+ )
567
+ expect(resp).to be_a(SendGrid4r::REST::Settings::Mail::PlainContent)
568
+ expect(req).to be_a(RestClient::Request)
569
+ expect(res).to be_a(Net::HTTPOK)
570
+ end
571
+ end
572
+ end
573
+ end
574
+
575
+ describe 'unit test', :ut do
576
+ let(:client) do
577
+ SendGrid4r::Client.new(api_key: '')
578
+ end
579
+
580
+ let(:address_whitelist) do
581
+ JSON.parse(
582
+ '{'\
583
+ '"enabled": true,'\
584
+ '"list": ['\
585
+ '"email1@example.com",'\
586
+ '"example.com"'\
587
+ ']'\
588
+ '}'
589
+ )
590
+ end
591
+
592
+ it '#get_settings_address_whitelist' do
593
+ allow(client).to receive(:execute).and_return(address_whitelist)
594
+ actual = client.get_settings_address_whitelist
595
+ expect(actual).to be_a(SendGrid4r::REST::Settings::Mail::AddressWhitelist)
596
+ end
597
+
598
+ it '#patch_settings_address_whitelist' do
599
+ allow(client).to receive(:execute).and_return(address_whitelist)
600
+ actual = client.patch_settings_address_whitelist(params: nil)
601
+ expect(actual).to be_a(SendGrid4r::REST::Settings::Mail::AddressWhitelist)
602
+ end
603
+
604
+ it 'creates address_whitelist instance' do
605
+ actual = SendGrid4r::REST::Settings::Mail.create_address_whitelist(
606
+ address_whitelist
607
+ )
608
+ expect(actual.enabled).to eq(true)
609
+ expect(actual.list).to be_a(Array)
610
+ actual.list.each do |address|
611
+ expect(address).to be_a(String)
612
+ end
613
+ end
614
+
615
+ let(:bcc) do
616
+ JSON.parse(
617
+ '{'\
618
+ '"enabled": true,'\
619
+ '"email": "email@example.com"'\
620
+ '}'
621
+ )
622
+ end
623
+
624
+ it '#get_settings_bcc' do
625
+ allow(client).to receive(:execute).and_return(bcc)
626
+ actual = client.get_settings_bcc
627
+ expect(actual).to be_a(SendGrid4r::REST::Settings::Mail::Bcc)
628
+ end
629
+
630
+ it '#patch_settings_bcc' do
631
+ allow(client).to receive(:execute).and_return(bcc)
632
+ actual = client.patch_settings_bcc(params: nil)
633
+ expect(actual).to be_a(SendGrid4r::REST::Settings::Mail::Bcc)
634
+ end
635
+
636
+ it 'creates bcc instance' do
637
+ actual = SendGrid4r::REST::Settings::Mail.create_bcc(bcc)
638
+ expect(actual.enabled).to eq(true)
639
+ expect(actual.email).to eq('email@example.com')
640
+ end
641
+
642
+ let(:bounce_purge) do
643
+ JSON.parse(
644
+ '{'\
645
+ '"enabled": true,'\
646
+ '"hard_bounces": 1,'\
647
+ '"soft_bounces": 1'\
648
+ '}'
649
+ )
650
+ end
651
+
652
+ it '#get_settings_bounce_purge' do
653
+ allow(client).to receive(:execute).and_return(bounce_purge)
654
+ actual = client.get_settings_bounce_purge
655
+ expect(actual).to be_a(SendGrid4r::REST::Settings::Mail::BouncePurge)
656
+ end
657
+
658
+ it '#patch_settings_bounce_purge' do
659
+ allow(client).to receive(:execute).and_return(bounce_purge)
660
+ actual = client.patch_settings_bounce_purge(params: nil)
661
+ expect(actual).to be_a(SendGrid4r::REST::Settings::Mail::BouncePurge)
662
+ end
663
+
664
+ it 'creates bounce_purge instance' do
665
+ actual = SendGrid4r::REST::Settings::Mail.create_bounce_purge(
666
+ bounce_purge
667
+ )
668
+ expect(actual.enabled).to eq(true)
669
+ expect(actual.hard_bounces).to eq(1)
670
+ expect(actual.soft_bounces).to eq(1)
671
+ end
672
+
673
+ let(:event_notification) do
674
+ JSON.parse(
675
+ '{'\
676
+ '"enabled": true,'\
677
+ '"url": "url",'\
678
+ '"group_resubscribe": true,'\
679
+ '"delivered": true,'\
680
+ '"group_unsubscribe": true,'\
681
+ '"spam_report": true,'\
682
+ '"bounce": true,'\
683
+ '"deferred": true,'\
684
+ '"unsubscribe": true,'\
685
+ '"processed": true,'\
686
+ '"open": true,'\
687
+ '"click": true,'\
688
+ '"dropped": true'\
689
+ '}'
690
+ )
691
+ end
692
+
693
+ it '#get_settings_event_notification' do
694
+ allow(client).to receive(:execute).and_return(event_notification)
695
+ actual = client.get_settings_event_notification
696
+ expect(actual).to be_a(
697
+ SendGrid4r::REST::Settings::Mail::EventNotification
698
+ )
699
+ end
700
+
701
+ it '#patch_settings_event_notification' do
702
+ allow(client).to receive(:execute).and_return(event_notification)
703
+ actual = client.patch_settings_event_notification(params: nil)
704
+ expect(actual).to be_a(
705
+ SendGrid4r::REST::Settings::Mail::EventNotification
706
+ )
707
+ end
708
+
709
+ it 'creates event_notification instance' do
710
+ actual = SendGrid4r::REST::Settings::Mail.create_event_notification(
711
+ event_notification
712
+ )
713
+ expect(actual.enabled).to eq(true)
714
+ expect(actual.url).to eq('url')
715
+ expect(actual.group_resubscribe).to eq(true)
716
+ expect(actual.delivered).to eq(true)
717
+ expect(actual.group_unsubscribe).to eq(true)
718
+ expect(actual.spam_report).to eq(true)
719
+ expect(actual.bounce).to eq(true)
720
+ expect(actual.deferred).to eq(true)
721
+ expect(actual.unsubscribe).to eq(true)
722
+ expect(actual.processed).to eq(true)
723
+ expect(actual.open).to eq(true)
724
+ expect(actual.click).to eq(true)
725
+ expect(actual.dropped).to eq(true)
726
+ end
727
+
728
+ let(:footer) do
729
+ JSON.parse(
730
+ '{'\
731
+ '"enabled": true,'\
732
+ '"html_content": "abc...",'\
733
+ '"plain_content": "xyz..."'\
734
+ '}'
735
+ )
736
+ end
737
+
738
+ it '#get_settings_footer' do
739
+ allow(client).to receive(:execute).and_return(footer)
740
+ actual = client.get_settings_footer
741
+ expect(actual).to be_a(SendGrid4r::REST::Settings::Mail::Footer)
742
+ end
743
+
744
+ it '#patch_settings_footer' do
745
+ allow(client).to receive(:execute).and_return(footer)
746
+ actual = client.patch_settings_footer(params: nil)
747
+ expect(actual).to be_a(SendGrid4r::REST::Settings::Mail::Footer)
748
+ end
749
+
750
+ it 'creates footer instance' do
751
+ actual = SendGrid4r::REST::Settings::Mail.create_footer(footer)
752
+ expect(actual.enabled).to eq(true)
753
+ expect(actual.html_content).to eq('abc...')
754
+ expect(actual.plain_content).to eq('xyz...')
755
+ end
756
+
757
+ let(:forward_bounce) do
758
+ JSON.parse(
759
+ '{'\
760
+ '"enabled": true,'\
761
+ '"email": "email address"'\
762
+ '}'
763
+ )
764
+ end
765
+
766
+ it '#get_settings_forward_bounce' do
767
+ allow(client).to receive(:execute).and_return(forward_bounce)
768
+ actual = client.get_settings_forward_bounce
769
+ expect(actual).to be_a(SendGrid4r::REST::Settings::Mail::ForwardBounce)
770
+ end
771
+
772
+ it '#patch_settings_forward_bounce' do
773
+ allow(client).to receive(:execute).and_return(forward_bounce)
774
+ actual = client.patch_settings_forward_bounce(params: nil)
775
+ expect(actual).to be_a(SendGrid4r::REST::Settings::Mail::ForwardBounce)
776
+ end
777
+
778
+ it 'creates forward_bounce instance' do
779
+ actual = SendGrid4r::REST::Settings::Mail.create_forward_bounce(
780
+ forward_bounce
781
+ )
782
+ expect(actual.enabled).to eq(true)
783
+ expect(actual.email).to eq('email address')
784
+ end
785
+
786
+ let(:forward_spam) do
787
+ JSON.parse(
788
+ '{'\
789
+ '"enabled": true,'\
790
+ '"email": "email address"'\
791
+ '}'
792
+ )
793
+ end
794
+
795
+ it '#get_settings_forward_spam' do
796
+ allow(client).to receive(:execute).and_return(forward_spam)
797
+ actual = client.get_settings_forward_spam
798
+ expect(actual).to be_a(SendGrid4r::REST::Settings::Mail::ForwardSpam)
799
+ end
800
+
801
+ it '#patch_settings_forward_spam' do
802
+ allow(client).to receive(:execute).and_return(forward_spam)
803
+ actual = client.patch_settings_forward_spam(params: nil)
804
+ expect(actual).to be_a(SendGrid4r::REST::Settings::Mail::ForwardSpam)
805
+ end
806
+
807
+ it 'creates forward_spam instance' do
808
+ actual = SendGrid4r::REST::Settings::Mail.create_forward_spam(
809
+ forward_spam
810
+ )
811
+ expect(actual.enabled).to eq(true)
812
+ expect(actual.email).to eq('email address')
813
+ end
814
+
815
+ let(:template) do
816
+ JSON.parse(
817
+ '{'\
818
+ '"enabled": true,'\
819
+ '"html_content": "..."'\
820
+ '}'
821
+ )
822
+ end
823
+
824
+ it '#get_settings_template' do
825
+ allow(client).to receive(:execute).and_return(template)
826
+ actual = client.get_settings_template
827
+ expect(actual).to be_a(SendGrid4r::REST::Settings::Mail::Template)
828
+ end
829
+
830
+ it '#patch_settings_template' do
831
+ allow(client).to receive(:execute).and_return(template)
832
+ actual = client.patch_settings_template(params: nil)
833
+ expect(actual).to be_a(SendGrid4r::REST::Settings::Mail::Template)
834
+ end
835
+
836
+ it 'creates template instance' do
837
+ actual = SendGrid4r::REST::Settings::Mail.create_template(template)
838
+ expect(actual.enabled).to eq(true)
839
+ expect(actual.html_content).to eq('...')
840
+ end
841
+
842
+ let(:plain_content) do
843
+ JSON.parse(
844
+ '{'\
845
+ '"enabled": true'\
846
+ '}'
847
+ )
848
+ end
849
+
850
+ it '#get_settings_plain_content' do
851
+ allow(client).to receive(:execute).and_return(plain_content)
852
+ actual = client.get_settings_plain_content
853
+ expect(actual).to be_a(SendGrid4r::REST::Settings::Mail::PlainContent)
854
+ end
855
+
856
+ it '#patch_settings_plain_content' do
857
+ allow(client).to receive(:execute).and_return(plain_content)
858
+ actual = client.patch_settings_plain_content(params: nil)
859
+ expect(actual).to be_a(SendGrid4r::REST::Settings::Mail::PlainContent)
860
+ end
861
+
862
+ it 'creates plain_content instance' do
863
+ actual = SendGrid4r::REST::Settings::Mail.create_plain_content(
864
+ plain_content
865
+ )
866
+ expect(actual.enabled).to eq(true)
867
+ end
868
+ end
869
+ end