sendgrid4r 0.4.0 → 0.5.0

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