sendpost_ruby_sdk 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile +9 -0
- data/README.md +79 -0
- data/Rakefile +10 -0
- data/config-ruby.json +11 -0
- data/docs/Attachment.md +20 -0
- data/docs/City.md +26 -0
- data/docs/CopyTo.md +22 -0
- data/docs/Device.md +18 -0
- data/docs/EmailApi.md +145 -0
- data/docs/EmailMessage.md +46 -0
- data/docs/EmailResponse.md +26 -0
- data/docs/EventMetadata.md +30 -0
- data/docs/From.md +20 -0
- data/docs/Os.md +26 -0
- data/docs/QEmailMessage.md +70 -0
- data/docs/QEvent.md +42 -0
- data/docs/ReplyTo.md +20 -0
- data/docs/To.md +26 -0
- data/docs/UserAgent.md +24 -0
- data/docs/WebhookEvent.md +20 -0
- data/generate-libs.bash +1 -0
- data/git_push.sh +57 -0
- data/lib/sendpost_ruby_sdk/api/email_api.rb +160 -0
- data/lib/sendpost_ruby_sdk/api_client.rb +391 -0
- data/lib/sendpost_ruby_sdk/api_error.rb +58 -0
- data/lib/sendpost_ruby_sdk/configuration.rb +288 -0
- data/lib/sendpost_ruby_sdk/models/attachment.rb +228 -0
- data/lib/sendpost_ruby_sdk/models/city.rb +255 -0
- data/lib/sendpost_ruby_sdk/models/copy_to.rb +237 -0
- data/lib/sendpost_ruby_sdk/models/device.rb +219 -0
- data/lib/sendpost_ruby_sdk/models/email_message.rb +351 -0
- data/lib/sendpost_ruby_sdk/models/email_response.rb +255 -0
- data/lib/sendpost_ruby_sdk/models/event_metadata.rb +273 -0
- data/lib/sendpost_ruby_sdk/models/from.rb +228 -0
- data/lib/sendpost_ruby_sdk/models/os.rb +255 -0
- data/lib/sendpost_ruby_sdk/models/q_email_message.rb +461 -0
- data/lib/sendpost_ruby_sdk/models/q_event.rb +329 -0
- data/lib/sendpost_ruby_sdk/models/reply_to.rb +228 -0
- data/lib/sendpost_ruby_sdk/models/to.rb +259 -0
- data/lib/sendpost_ruby_sdk/models/user_agent.rb +246 -0
- data/lib/sendpost_ruby_sdk/models/webhook_event.rb +228 -0
- data/lib/sendpost_ruby_sdk/version.rb +15 -0
- data/lib/sendpost_ruby_sdk.rb +55 -0
- data/sendpost.yaml +438 -0
- data/sendpost_ruby_sdk.gemspec +38 -0
- data/spec/api/email_api_spec.rb +59 -0
- data/spec/api_client_spec.rb +228 -0
- data/spec/configuration_spec.rb +42 -0
- data/spec/models/attachment_spec.rb +40 -0
- data/spec/models/city_spec.rb +58 -0
- data/spec/models/copy_to_spec.rb +46 -0
- data/spec/models/device_spec.rb +34 -0
- data/spec/models/email_message_spec.rb +118 -0
- data/spec/models/email_response_spec.rb +58 -0
- data/spec/models/event_metadata_spec.rb +70 -0
- data/spec/models/from_spec.rb +40 -0
- data/spec/models/os_spec.rb +58 -0
- data/spec/models/q_email_message_spec.rb +190 -0
- data/spec/models/q_event_spec.rb +106 -0
- data/spec/models/reply_to_spec.rb +40 -0
- data/spec/models/to_spec.rb +58 -0
- data/spec/models/user_agent_spec.rb +52 -0
- data/spec/models/webhook_event_spec.rb +40 -0
- data/spec/spec_helper.rb +111 -0
- metadata +168 -0
data/sendpost.yaml
ADDED
@@ -0,0 +1,438 @@
|
|
1
|
+
openapi: 3.0.2
|
2
|
+
info:
|
3
|
+
title: SendPost API
|
4
|
+
description: Email API and SMTP relay to not just send and measure email sending,
|
5
|
+
but also alert and optimise. We provide you with tools, expertise and support
|
6
|
+
needed to reliably deliver emails to your customers inboxes on time, every time.
|
7
|
+
version: 1.0.0
|
8
|
+
termsOfService: http://sendpost.io/terms-of-service
|
9
|
+
contact:
|
10
|
+
email: hello@sendpost.io
|
11
|
+
servers:
|
12
|
+
- url: https://api.sendpost.io/api/v1/
|
13
|
+
paths:
|
14
|
+
/subaccount/email/:
|
15
|
+
post:
|
16
|
+
tags:
|
17
|
+
- email
|
18
|
+
description: Send Email To Contacts
|
19
|
+
operationId: send_email
|
20
|
+
parameters:
|
21
|
+
- in: header
|
22
|
+
name: X-SubAccount-ApiKey
|
23
|
+
description: Sub-Account API Key
|
24
|
+
required: true
|
25
|
+
schema:
|
26
|
+
type: string
|
27
|
+
requestBody:
|
28
|
+
description: "Email message"
|
29
|
+
content:
|
30
|
+
application/json:
|
31
|
+
schema:
|
32
|
+
$ref: '#/components/schemas/EmailMessage'
|
33
|
+
responses:
|
34
|
+
'200':
|
35
|
+
description: '"Email Message Processed Successfully"'
|
36
|
+
content:
|
37
|
+
application/json:
|
38
|
+
schema:
|
39
|
+
type: array
|
40
|
+
items:
|
41
|
+
$ref: '#/components/schemas/EmailResponse'
|
42
|
+
'401':
|
43
|
+
description: Not Authorized
|
44
|
+
'422':
|
45
|
+
description: Request body is not in proper format
|
46
|
+
'500':
|
47
|
+
description: Internal Server Error
|
48
|
+
/subaccount/email/template:
|
49
|
+
post:
|
50
|
+
tags:
|
51
|
+
- email
|
52
|
+
description: Send Email To Contacts With Template
|
53
|
+
operationId: send_email_with_template
|
54
|
+
parameters:
|
55
|
+
- in: header
|
56
|
+
name: X-SubAccount-ApiKey
|
57
|
+
description: Sub-Account API Key
|
58
|
+
required: true
|
59
|
+
schema:
|
60
|
+
type: string
|
61
|
+
requestBody:
|
62
|
+
description: "Email message"
|
63
|
+
content:
|
64
|
+
application/json:
|
65
|
+
schema:
|
66
|
+
$ref: '#/components/schemas/EmailMessage'
|
67
|
+
responses:
|
68
|
+
'200':
|
69
|
+
description: '"Email Message Processed Successfully"'
|
70
|
+
content:
|
71
|
+
application/json:
|
72
|
+
schema:
|
73
|
+
type: array
|
74
|
+
items:
|
75
|
+
$ref: '#/components/schemas/EmailResponse'
|
76
|
+
'401':
|
77
|
+
description: Not Authorized
|
78
|
+
'422':
|
79
|
+
description: Request body is not in proper format
|
80
|
+
'500':
|
81
|
+
description: Internal Server Error
|
82
|
+
components:
|
83
|
+
schemas:
|
84
|
+
EmailMessage:
|
85
|
+
title: EmailMessage
|
86
|
+
type: object
|
87
|
+
properties:
|
88
|
+
attachments:
|
89
|
+
type: array
|
90
|
+
items:
|
91
|
+
$ref: '#/components/schemas/Attachment'
|
92
|
+
from:
|
93
|
+
$ref: '#/components/schemas/From'
|
94
|
+
groups:
|
95
|
+
type: array
|
96
|
+
items:
|
97
|
+
type: string
|
98
|
+
example: ["promotion", "techcrunch-launch"]
|
99
|
+
htmlBody:
|
100
|
+
type: string
|
101
|
+
example: "<html><body>Thanks for your trust in Hooli {{.Name}}. We are trying launching Nucleus at TechCrunch Disrupt - our cloud based compression platform. That you could easily integrate it into {{.Company}}.</html></body>"
|
102
|
+
ippool:
|
103
|
+
type: string
|
104
|
+
example: "promotional-hooli"
|
105
|
+
preText:
|
106
|
+
type: string
|
107
|
+
example: "Follow the steps to integrate our video compression API"
|
108
|
+
replyTo:
|
109
|
+
$ref: '#/components/schemas/ReplyTo'
|
110
|
+
subject:
|
111
|
+
type: string
|
112
|
+
example: "Welcome to Nucles {{.Name}}:) Let's get started"
|
113
|
+
template:
|
114
|
+
type: string
|
115
|
+
example: "welcome-onboarding"
|
116
|
+
textBody:
|
117
|
+
type: string
|
118
|
+
example: "Thanks for your trust in Hooli {{.Name}}. We are trying launching Nucleus at TechCrunch Disrupt - our cloud based compression platform. That you could easily integrate it into {{.Company}}"
|
119
|
+
to:
|
120
|
+
type: array
|
121
|
+
items:
|
122
|
+
$ref: '#/components/schemas/To'
|
123
|
+
trackClicks:
|
124
|
+
type: boolean
|
125
|
+
example: true
|
126
|
+
trackOpens:
|
127
|
+
type: boolean
|
128
|
+
example: true
|
129
|
+
headers:
|
130
|
+
type: object
|
131
|
+
example:
|
132
|
+
X-Campaign-Id: "techcrunch-launch"
|
133
|
+
ampBody:
|
134
|
+
type: string
|
135
|
+
WebhookEvent:
|
136
|
+
title: WebhookEvent
|
137
|
+
type: object
|
138
|
+
properties:
|
139
|
+
event:
|
140
|
+
$ref: '#/components/schemas/QEvent'
|
141
|
+
emailMessage:
|
142
|
+
$ref: '#/components/schemas/QEmailMessage'
|
143
|
+
QEmailMessage:
|
144
|
+
title: QEmailMessage
|
145
|
+
type: object
|
146
|
+
properties:
|
147
|
+
accountID:
|
148
|
+
type: integer
|
149
|
+
format: int64
|
150
|
+
example: 117
|
151
|
+
ampBody:
|
152
|
+
type: string
|
153
|
+
attachments:
|
154
|
+
type: array
|
155
|
+
items:
|
156
|
+
$ref: '#/components/schemas/Attachment'
|
157
|
+
attempt:
|
158
|
+
type: integer
|
159
|
+
format: int64
|
160
|
+
example: 1
|
161
|
+
customFields:
|
162
|
+
type: object
|
163
|
+
example:
|
164
|
+
Company: "Bachmanity"
|
165
|
+
emailType:
|
166
|
+
type: string
|
167
|
+
example: "gmail"
|
168
|
+
from:
|
169
|
+
$ref: '#/components/schemas/From'
|
170
|
+
groups:
|
171
|
+
type: array
|
172
|
+
items:
|
173
|
+
type: string
|
174
|
+
example: ["promotion", "techcrunch-launch"]
|
175
|
+
headerBcc:
|
176
|
+
type: array
|
177
|
+
items:
|
178
|
+
$ref: '#/components/schemas/CopyTo'
|
179
|
+
headerCc:
|
180
|
+
type: array
|
181
|
+
items:
|
182
|
+
$ref: '#/components/schemas/CopyTo'
|
183
|
+
headerTo:
|
184
|
+
$ref: '#/components/schemas/To'
|
185
|
+
headers:
|
186
|
+
type: object
|
187
|
+
example:
|
188
|
+
X-Campaign-Id: "techcrunch-launch"
|
189
|
+
htmlBody:
|
190
|
+
type: string
|
191
|
+
example: "<html><body>{{.FirstName}}, I have been following your journey since {{.Company}} days. Just wanted to thank you for inspiring us.</body></html>"
|
192
|
+
ipID:
|
193
|
+
type: integer
|
194
|
+
format: int64
|
195
|
+
example: 18
|
196
|
+
ipPool:
|
197
|
+
type: string
|
198
|
+
example: "transactional-piedpiper"
|
199
|
+
localIP:
|
200
|
+
type: string
|
201
|
+
example: "172.30.2.45"
|
202
|
+
messageID:
|
203
|
+
type: string
|
204
|
+
example: "0c6c7600-e68d-498e-b924-d8105130cc1d"
|
205
|
+
preText:
|
206
|
+
type: string
|
207
|
+
example: "thanks for the inspiration ..."
|
208
|
+
publicIP:
|
209
|
+
type: string
|
210
|
+
example: "52.13.11.9"
|
211
|
+
replyTo:
|
212
|
+
$ref: '#/components/schemas/ReplyTo'
|
213
|
+
subAccountID:
|
214
|
+
type: integer
|
215
|
+
format: int64
|
216
|
+
example: 234
|
217
|
+
subject:
|
218
|
+
type: string
|
219
|
+
example: "Building great products?"
|
220
|
+
submittedAt:
|
221
|
+
type: integer
|
222
|
+
format: int64
|
223
|
+
example: 1567512491587205024
|
224
|
+
textBody:
|
225
|
+
type: string
|
226
|
+
example: "{{.FirstName}}, I have been following your journey since {{.Company}} days. Just wanted to thank you for inspiring us."
|
227
|
+
to:
|
228
|
+
$ref: '#/components/schemas/To'
|
229
|
+
trackClicks:
|
230
|
+
type: boolean
|
231
|
+
example: true
|
232
|
+
trackOpens:
|
233
|
+
type: boolean
|
234
|
+
example: true
|
235
|
+
QEvent:
|
236
|
+
title: QEvent
|
237
|
+
type: object
|
238
|
+
properties:
|
239
|
+
accountID:
|
240
|
+
type: integer
|
241
|
+
format: int64
|
242
|
+
example: 8
|
243
|
+
eventID:
|
244
|
+
type: string
|
245
|
+
example: "8690608c-2538-4173-a463-f0de475633da"
|
246
|
+
eventMetadata:
|
247
|
+
$ref: '#/components/schemas/EventMetadata'
|
248
|
+
from:
|
249
|
+
type: string
|
250
|
+
example: "gavin@hooli.com"
|
251
|
+
groups:
|
252
|
+
type: array
|
253
|
+
items:
|
254
|
+
type: string
|
255
|
+
example: ["promotion", "techcrunch-launch"]
|
256
|
+
ipID:
|
257
|
+
type: integer
|
258
|
+
format: int64
|
259
|
+
example: 7
|
260
|
+
messageID:
|
261
|
+
type: string
|
262
|
+
example: "edcb833d-5ef6-48c3-936f-1de0b74843d4"
|
263
|
+
messageType:
|
264
|
+
type: string
|
265
|
+
example: "default"
|
266
|
+
subAccountID:
|
267
|
+
type: integer
|
268
|
+
format: int64
|
269
|
+
example: 28
|
270
|
+
submittedAt:
|
271
|
+
type: integer
|
272
|
+
format: int64
|
273
|
+
example: 1689245147247766056
|
274
|
+
to:
|
275
|
+
type: string
|
276
|
+
example: "richard@piedpiper.com"
|
277
|
+
tpspId:
|
278
|
+
type: integer
|
279
|
+
format: int64
|
280
|
+
example: 0
|
281
|
+
type:
|
282
|
+
type: integer
|
283
|
+
format: int64
|
284
|
+
example: 2
|
285
|
+
Attachment:
|
286
|
+
title: Attachment
|
287
|
+
type: object
|
288
|
+
properties:
|
289
|
+
content:
|
290
|
+
type: string
|
291
|
+
example: "V2VsY29tZSB0byBTZW5kUG9zdCEgOikK"
|
292
|
+
filename:
|
293
|
+
type: string
|
294
|
+
example: "file0.txt"
|
295
|
+
To:
|
296
|
+
title: To
|
297
|
+
type: object
|
298
|
+
properties:
|
299
|
+
name:
|
300
|
+
type: string
|
301
|
+
example: "Elrich Bachman"
|
302
|
+
email:
|
303
|
+
type: string
|
304
|
+
example: "elrich@bachmanity.com"
|
305
|
+
cc:
|
306
|
+
type: array
|
307
|
+
items:
|
308
|
+
$ref: '#/components/schemas/CopyTo'
|
309
|
+
bcc:
|
310
|
+
type: array
|
311
|
+
items:
|
312
|
+
$ref: '#/components/schemas/CopyTo'
|
313
|
+
customFields:
|
314
|
+
type: object
|
315
|
+
example:
|
316
|
+
Company: "Bachmanity"
|
317
|
+
From:
|
318
|
+
title: From
|
319
|
+
type: object
|
320
|
+
properties:
|
321
|
+
email:
|
322
|
+
type: string
|
323
|
+
example: "gavin@hooli.com"
|
324
|
+
name:
|
325
|
+
type: string
|
326
|
+
example: "Gavin Belson"
|
327
|
+
ReplyTo:
|
328
|
+
title: ReplyTo
|
329
|
+
type: object
|
330
|
+
properties:
|
331
|
+
email:
|
332
|
+
type: string
|
333
|
+
example: "welcome@hooli.vom"
|
334
|
+
name:
|
335
|
+
type: string
|
336
|
+
example: "Team @ Hooli"
|
337
|
+
CopyTo:
|
338
|
+
title: CopyTo
|
339
|
+
type: object
|
340
|
+
properties:
|
341
|
+
name:
|
342
|
+
type: string
|
343
|
+
example: "Nelson Bighetti"
|
344
|
+
email:
|
345
|
+
type: string
|
346
|
+
example: "bighead@bachmanity.com"
|
347
|
+
customFields:
|
348
|
+
type: object
|
349
|
+
example:
|
350
|
+
Company: "Bachmanity"
|
351
|
+
EventMetadata:
|
352
|
+
title: EventMetadata
|
353
|
+
type: object
|
354
|
+
properties:
|
355
|
+
clickedURL:
|
356
|
+
type: string
|
357
|
+
device:
|
358
|
+
$ref: '#/components/schemas/Device'
|
359
|
+
geo:
|
360
|
+
$ref: '#/components/schemas/City'
|
361
|
+
os:
|
362
|
+
$ref: '#/components/schemas/Os'
|
363
|
+
smtpCode:
|
364
|
+
type: integer
|
365
|
+
format: int64
|
366
|
+
example: 200
|
367
|
+
smtpDescription:
|
368
|
+
type: string
|
369
|
+
example: "email delivered successfully"
|
370
|
+
userAgent:
|
371
|
+
$ref: '#/components/schemas/UserAgent'
|
372
|
+
EmailResponse:
|
373
|
+
title: EmailResponse
|
374
|
+
type: object
|
375
|
+
properties:
|
376
|
+
errorCode:
|
377
|
+
type: integer
|
378
|
+
example: 500
|
379
|
+
message:
|
380
|
+
type: string
|
381
|
+
example: "ok"
|
382
|
+
messageId:
|
383
|
+
type: string
|
384
|
+
example: "0e139af1-f1xe-480d-b08d-eg28m48kf48d"
|
385
|
+
submittedAt:
|
386
|
+
type: integer
|
387
|
+
format: int64
|
388
|
+
example: 1567512491587205124
|
389
|
+
to:
|
390
|
+
type: string
|
391
|
+
example: "bighead@bachmanity.com"
|
392
|
+
Device:
|
393
|
+
title: Device
|
394
|
+
type: object
|
395
|
+
properties:
|
396
|
+
Family:
|
397
|
+
type: string
|
398
|
+
Os:
|
399
|
+
title: Os
|
400
|
+
type: object
|
401
|
+
properties:
|
402
|
+
Family:
|
403
|
+
type: string
|
404
|
+
Major:
|
405
|
+
type: string
|
406
|
+
Minor:
|
407
|
+
type: string
|
408
|
+
Patch:
|
409
|
+
type: string
|
410
|
+
PatchMinor:
|
411
|
+
type: string
|
412
|
+
UserAgent:
|
413
|
+
title: UserAgent
|
414
|
+
type: object
|
415
|
+
properties:
|
416
|
+
Family:
|
417
|
+
type: string
|
418
|
+
Major:
|
419
|
+
type: string
|
420
|
+
Minor:
|
421
|
+
type: string
|
422
|
+
Patch:
|
423
|
+
type: string
|
424
|
+
City:
|
425
|
+
title: City
|
426
|
+
type: object
|
427
|
+
properties:
|
428
|
+
cityID:
|
429
|
+
type: integer
|
430
|
+
format: int32
|
431
|
+
continentCode:
|
432
|
+
type: string
|
433
|
+
countryCode:
|
434
|
+
type: string
|
435
|
+
postalCode:
|
436
|
+
type: string
|
437
|
+
timeZone:
|
438
|
+
type: string
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
=begin
|
4
|
+
#SendPost API
|
5
|
+
|
6
|
+
#Email API and SMTP relay to not just send and measure email sending, but also alert and optimise. We provide you with tools, expertise and support needed to reliably deliver emails to your customers inboxes on time, every time.
|
7
|
+
|
8
|
+
The version of the OpenAPI document: 1.0.0
|
9
|
+
Contact: hello@sendpost.io
|
10
|
+
Generated by: https://openapi-generator.tech
|
11
|
+
OpenAPI Generator version: 6.6.0
|
12
|
+
|
13
|
+
=end
|
14
|
+
|
15
|
+
$:.push File.expand_path("../lib", __FILE__)
|
16
|
+
require "sendpost_ruby_sdk/version"
|
17
|
+
|
18
|
+
Gem::Specification.new do |s|
|
19
|
+
s.name = "sendpost_ruby_sdk"
|
20
|
+
s.version = Sendpost::VERSION
|
21
|
+
s.platform = Gem::Platform::RUBY
|
22
|
+
s.authors = ["Sendpost"]
|
23
|
+
s.email = ["dev@sendpost.io"]
|
24
|
+
s.homepage = "https://sendpost.io/"
|
25
|
+
s.summary = "SendPost Ruby API"
|
26
|
+
s.description = "Email API and SMTP relay to not just send and measure email sending, but also alert and optimise. We provide you with tools, expertise and support needed to reliably deliver emails to your customers inboxes on time, every time."
|
27
|
+
s.license = "Unlicense"
|
28
|
+
s.required_ruby_version = ">= 2.7"
|
29
|
+
|
30
|
+
s.add_runtime_dependency 'typhoeus', '~> 1.0', '>= 1.0.1'
|
31
|
+
|
32
|
+
s.add_development_dependency 'rspec', '~> 3.6', '>= 3.6.0'
|
33
|
+
|
34
|
+
s.files = `find *`.split("\n").uniq.sort.select { |f| !f.empty? }
|
35
|
+
s.test_files = `find spec/*`.split("\n")
|
36
|
+
s.executables = []
|
37
|
+
s.require_paths = ["lib"]
|
38
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
=begin
|
2
|
+
#SendPost API
|
3
|
+
|
4
|
+
#Email API and SMTP relay to not just send and measure email sending, but also alert and optimise. We provide you with tools, expertise and support needed to reliably deliver emails to your customers inboxes on time, every time.
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 1.0.0
|
7
|
+
Contact: hello@sendpost.io
|
8
|
+
Generated by: https://openapi-generator.tech
|
9
|
+
OpenAPI Generator version: 6.6.0
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'spec_helper'
|
14
|
+
require 'json'
|
15
|
+
|
16
|
+
# Unit tests for Sendpost::EmailApi
|
17
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
18
|
+
# Please update as you see appropriate
|
19
|
+
describe 'EmailApi' do
|
20
|
+
before do
|
21
|
+
# run before each test
|
22
|
+
@api_instance = Sendpost::EmailApi.new
|
23
|
+
end
|
24
|
+
|
25
|
+
after do
|
26
|
+
# run after each test
|
27
|
+
end
|
28
|
+
|
29
|
+
describe 'test an instance of EmailApi' do
|
30
|
+
it 'should create an instance of EmailApi' do
|
31
|
+
expect(@api_instance).to be_instance_of(Sendpost::EmailApi)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
# unit tests for send_email
|
36
|
+
# Send Email To Contacts
|
37
|
+
# @param x_sub_account_api_key Sub-Account API Key
|
38
|
+
# @param [Hash] opts the optional parameters
|
39
|
+
# @option opts [EmailMessage] :email_message Email message
|
40
|
+
# @return [Array<EmailResponse>]
|
41
|
+
describe 'send_email test' do
|
42
|
+
it 'should work' do
|
43
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
# unit tests for send_email_with_template
|
48
|
+
# Send Email To Contacts With Template
|
49
|
+
# @param x_sub_account_api_key Sub-Account API Key
|
50
|
+
# @param [Hash] opts the optional parameters
|
51
|
+
# @option opts [EmailMessage] :email_message Email message
|
52
|
+
# @return [Array<EmailResponse>]
|
53
|
+
describe 'send_email_with_template test' do
|
54
|
+
it 'should work' do
|
55
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|