lob 5.4.6 → 6.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (495) hide show
  1. checksums.yaml +4 -4
  2. data/CODE_SNIPPETS.md +1871 -0
  3. data/Gemfile +6 -1
  4. data/Gemfile.lock +70 -0
  5. data/LICENSE +21 -0
  6. data/MIGRATION.md +174 -0
  7. data/README.md +70 -97
  8. data/Rakefile +7 -5
  9. data/__tests__/Api/Address.unit.rb +210 -0
  10. data/__tests__/Api/BankAccount.unit.rb +244 -0
  11. data/__tests__/Api/BillingGroup.unit.rb +170 -0
  12. data/__tests__/Api/Card.unit.rb +183 -0
  13. data/__tests__/Api/CardOrder.unit.rb +89 -0
  14. data/__tests__/Api/Check.unit.rb +185 -0
  15. data/__tests__/Api/IntlAutocompletion.unit.rb +43 -0
  16. data/__tests__/Api/IntlVerification.unit.rb +71 -0
  17. data/__tests__/Api/Letter.unit.rb +191 -0
  18. data/__tests__/Api/Postcard.unit.rb +189 -0
  19. data/__tests__/Api/ReverseGeocodeLookup.unit.rb +43 -0
  20. data/__tests__/Api/SelfMailer.unit.rb +190 -0
  21. data/__tests__/Api/Template.unit.rb +165 -0
  22. data/__tests__/Api/TemplateVersion.unit.rb +165 -0
  23. data/__tests__/Api/UsAutocompletion.unit.rb +42 -0
  24. data/__tests__/Api/UsVerification.unit.rb +71 -0
  25. data/__tests__/Api/ZipLookup.unit.rb +42 -0
  26. data/__tests__/Integration/Address.spec.rb +200 -0
  27. data/__tests__/Integration/BankAccount.spec.rb +243 -0
  28. data/__tests__/Integration/BillingGroup.spec.rb +163 -0
  29. data/__tests__/Integration/Card.spec.rb +198 -0
  30. data/__tests__/Integration/CardOrder.spec.rb +122 -0
  31. data/__tests__/Integration/Check.spec.rb +361 -0
  32. data/__tests__/Integration/IntlAutocompletion.spec.rb +54 -0
  33. data/__tests__/Integration/IntlVerification.spec.rb +90 -0
  34. data/__tests__/Integration/Letter.spec.rb +286 -0
  35. data/__tests__/Integration/Postcard.spec.rb +214 -0
  36. data/__tests__/Integration/ReverseGeocodeLookup.spec.rb +30 -0
  37. data/__tests__/Integration/SelfMailer.spec.rb +270 -0
  38. data/__tests__/Integration/Template.spec.rb +221 -0
  39. data/__tests__/Integration/TemplateVersion.spec.rb +275 -0
  40. data/__tests__/Integration/UsAutocompletion.spec.rb +54 -0
  41. data/__tests__/Integration/UsVerification.spec.rb +102 -0
  42. data/__tests__/Integration/ZipLookup.spec.rb +29 -0
  43. data/__tests__/TestFixtures.rb +36 -0
  44. data/docs/Address.md +52 -0
  45. data/docs/AddressDeletion.md +22 -0
  46. data/docs/AddressDomestic.md +40 -0
  47. data/docs/AddressDomesticExpanded.md +40 -0
  48. data/docs/AddressEditable.md +40 -0
  49. data/docs/AddressList.md +28 -0
  50. data/docs/AddressesApi.md +303 -0
  51. data/docs/BankAccount.md +44 -0
  52. data/docs/BankAccountDeletion.md +22 -0
  53. data/docs/BankAccountList.md +28 -0
  54. data/docs/BankAccountVerify.md +18 -0
  55. data/docs/BankAccountWritable.md +28 -0
  56. data/docs/BankAccountsApi.md +376 -0
  57. data/docs/BankTypeEnum.md +15 -0
  58. data/docs/BillingGroup.md +28 -0
  59. data/docs/BillingGroupEditable.md +20 -0
  60. data/docs/BillingGroupList.md +26 -0
  61. data/docs/BillingGroupsApi.md +305 -0
  62. data/docs/Buckslip.md +60 -0
  63. data/docs/BuckslipDeletion.md +20 -0
  64. data/docs/BuckslipEditable.md +24 -0
  65. data/docs/BuckslipOrder.md +42 -0
  66. data/docs/BuckslipOrderEditable.md +18 -0
  67. data/docs/BuckslipOrdersApi.md +157 -0
  68. data/docs/BuckslipOrdersList.md +26 -0
  69. data/docs/BuckslipUpdatable.md +22 -0
  70. data/docs/BuckslipsApi.md +372 -0
  71. data/docs/BuckslipsList.md +28 -0
  72. data/docs/BulkError.md +18 -0
  73. data/docs/BulkErrorProperties.md +20 -0
  74. data/docs/Campaign.md +52 -0
  75. data/docs/CampaignCreative.md +42 -0
  76. data/docs/CampaignDeletion.md +20 -0
  77. data/docs/CampaignUpdatable.md +36 -0
  78. data/docs/CampaignWritable.md +36 -0
  79. data/docs/CampaignsApi.md +376 -0
  80. data/docs/CampaignsList.md +28 -0
  81. data/docs/Card.md +54 -0
  82. data/docs/CardDeletion.md +22 -0
  83. data/docs/CardEditable.md +24 -0
  84. data/docs/CardList.md +28 -0
  85. data/docs/CardOrder.md +42 -0
  86. data/docs/CardOrderEditable.md +18 -0
  87. data/docs/CardOrderList.md +26 -0
  88. data/docs/CardOrdersApi.md +157 -0
  89. data/docs/CardUpdatable.md +22 -0
  90. data/docs/CardsApi.md +372 -0
  91. data/docs/Check.md +68 -0
  92. data/docs/CheckDeletion.md +22 -0
  93. data/docs/CheckEditable.md +48 -0
  94. data/docs/CheckList.md +28 -0
  95. data/docs/ChecksApi.md +315 -0
  96. data/docs/CmpScheduleType.md +15 -0
  97. data/docs/CmpUseType.md +15 -0
  98. data/docs/CountryExtended.md +15 -0
  99. data/docs/CountryExtendedExpanded.md +15 -0
  100. data/docs/CreativePatch.md +22 -0
  101. data/docs/CreativeResponse.md +42 -0
  102. data/docs/CreativeWritable.md +34 -0
  103. data/docs/CreativesApi.md +226 -0
  104. data/docs/CustomEnvelopeReturned.md +22 -0
  105. data/docs/DefaultApi.md +75 -0
  106. data/docs/DeliverabilityAnalysis.md +34 -0
  107. data/docs/DpvFootnote.md +15 -0
  108. data/docs/EngineHtml.md +15 -0
  109. data/docs/EventType.md +24 -0
  110. data/docs/Events.md +28 -0
  111. data/docs/Export.md +32 -0
  112. data/docs/ExportModel.md +18 -0
  113. data/docs/GeocodeAddresses.md +20 -0
  114. data/docs/GeocodeComponents.md +20 -0
  115. data/docs/HTTPValidationError.md +18 -0
  116. data/docs/IdentityValidation.md +34 -0
  117. data/docs/IdentityValidationApi.md +78 -0
  118. data/docs/InlineObject.md +18 -0
  119. data/docs/IntlAutocompletions.md +20 -0
  120. data/docs/IntlAutocompletionsApi.md +82 -0
  121. data/docs/IntlAutocompletionsWritable.md +26 -0
  122. data/docs/IntlComponents.md +26 -0
  123. data/docs/IntlSuggestions.md +30 -0
  124. data/docs/IntlVerification.md +38 -0
  125. data/docs/IntlVerificationOrError.md +40 -0
  126. data/docs/IntlVerificationWritable.md +32 -0
  127. data/docs/IntlVerifications.md +20 -0
  128. data/docs/IntlVerificationsApi.md +153 -0
  129. data/docs/IntlVerificationsPayload.md +18 -0
  130. data/docs/Letter.md +72 -0
  131. data/docs/LetterCustomEnvelope.md +22 -0
  132. data/docs/LetterDeletion.md +22 -0
  133. data/docs/LetterDetailsReturned.md +36 -0
  134. data/docs/LetterDetailsWritable.md +32 -0
  135. data/docs/LetterEditable.md +52 -0
  136. data/docs/LetterList.md +28 -0
  137. data/docs/LettersApi.md +317 -0
  138. data/docs/LobConfidenceScore.md +20 -0
  139. data/docs/LobError.md +22 -0
  140. data/docs/Location.md +20 -0
  141. data/docs/LocationAnalysis.md +22 -0
  142. data/docs/MailType.md +15 -0
  143. data/docs/MultiLineAddress.md +32 -0
  144. data/docs/MultipleComponents.md +30 -0
  145. data/docs/MultipleComponentsIntl.md +30 -0
  146. data/docs/MultipleComponentsList.md +18 -0
  147. data/docs/PlaceholderModel.md +28 -0
  148. data/docs/Postcard.md +60 -0
  149. data/docs/PostcardDeletion.md +22 -0
  150. data/docs/PostcardDetailsReturned.md +26 -0
  151. data/docs/PostcardDetailsWritable.md +20 -0
  152. data/docs/PostcardEditable.md +40 -0
  153. data/docs/PostcardList.md +28 -0
  154. data/docs/PostcardSize.md +15 -0
  155. data/docs/PostcardsApi.md +317 -0
  156. data/docs/QrCode.md +30 -0
  157. data/docs/ReturnEnvelope.md +24 -0
  158. data/docs/ReverseGeocode.md +22 -0
  159. data/docs/ReverseGeocodeLookupsApi.md +82 -0
  160. data/docs/SelfMailer.md +48 -0
  161. data/docs/SelfMailerDeletion.md +22 -0
  162. data/docs/SelfMailerEditable.md +38 -0
  163. data/docs/SelfMailerList.md +28 -0
  164. data/docs/SelfMailerSize.md +15 -0
  165. data/docs/SelfMailersApi.md +317 -0
  166. data/docs/SortBy.md +20 -0
  167. data/docs/SortBy1.md +20 -0
  168. data/docs/SortBy2.md +20 -0
  169. data/docs/SortBy3.md +20 -0
  170. data/docs/SortByDateModified.md +20 -0
  171. data/docs/Suggestions.md +26 -0
  172. data/docs/Template.md +34 -0
  173. data/docs/TemplateDeletion.md +22 -0
  174. data/docs/TemplateList.md +28 -0
  175. data/docs/TemplateUpdate.md +20 -0
  176. data/docs/TemplateVersion.md +36 -0
  177. data/docs/TemplateVersionDeletion.md +22 -0
  178. data/docs/TemplateVersionList.md +28 -0
  179. data/docs/TemplateVersionUpdatable.md +20 -0
  180. data/docs/TemplateVersionWritable.md +22 -0
  181. data/docs/TemplateVersionsApi.md +384 -0
  182. data/docs/TemplateWritable.md +24 -0
  183. data/docs/TemplatesApi.md +376 -0
  184. data/docs/Thumbnail.md +22 -0
  185. data/docs/TrackingEventCertified.md +34 -0
  186. data/docs/TrackingEventDetails.md +24 -0
  187. data/docs/TrackingEventNormal.md +34 -0
  188. data/docs/Upload.md +44 -0
  189. data/docs/UploadCreateExport.md +20 -0
  190. data/docs/UploadFile.md +20 -0
  191. data/docs/UploadState.md +15 -0
  192. data/docs/UploadUpdatable.md +20 -0
  193. data/docs/UploadWritable.md +18 -0
  194. data/docs/UploadsApi.md +584 -0
  195. data/docs/UsAutocompletions.md +22 -0
  196. data/docs/UsAutocompletionsApi.md +78 -0
  197. data/docs/UsAutocompletionsWritable.md +26 -0
  198. data/docs/UsComponents.md +68 -0
  199. data/docs/UsVerification.md +38 -0
  200. data/docs/UsVerificationOrError.md +40 -0
  201. data/docs/UsVerifications.md +20 -0
  202. data/docs/UsVerificationsApi.md +157 -0
  203. data/docs/UsVerificationsWritable.md +32 -0
  204. data/docs/ValidationError.md +22 -0
  205. data/docs/Zip.md +26 -0
  206. data/docs/ZipCodeType.md +15 -0
  207. data/docs/ZipEditable.md +18 -0
  208. data/docs/ZipLookupCity.md +26 -0
  209. data/docs/ZipLookupsApi.md +78 -0
  210. data/git_push.sh +57 -0
  211. data/lib/openapi_client/api/addresses_api.rb +318 -0
  212. data/lib/openapi_client/api/bank_accounts_api.rb +397 -0
  213. data/lib/openapi_client/api/billing_groups_api.rb +320 -0
  214. data/lib/openapi_client/api/buckslip_orders_api.rb +183 -0
  215. data/lib/openapi_client/api/buckslips_api.rb +382 -0
  216. data/lib/openapi_client/api/campaigns_api.rb +389 -0
  217. data/lib/openapi_client/api/card_orders_api.rb +183 -0
  218. data/lib/openapi_client/api/cards_api.rb +382 -0
  219. data/lib/openapi_client/api/checks_api.rb +337 -0
  220. data/lib/openapi_client/api/creatives_api.rb +244 -0
  221. data/lib/openapi_client/api/default_api.rb +79 -0
  222. data/lib/openapi_client/api/identity_validation_api.rb +90 -0
  223. data/lib/openapi_client/api/intl_autocompletions_api.rb +97 -0
  224. data/lib/openapi_client/api/intl_verifications_api.rb +165 -0
  225. data/lib/openapi_client/api/letters_api.rb +340 -0
  226. data/lib/openapi_client/api/postcards_api.rb +340 -0
  227. data/lib/openapi_client/api/reverse_geocode_lookups_api.rb +101 -0
  228. data/lib/openapi_client/api/self_mailers_api.rb +340 -0
  229. data/lib/openapi_client/api/template_versions_api.rb +440 -0
  230. data/lib/openapi_client/api/templates_api.rb +397 -0
  231. data/lib/openapi_client/api/uploads_api.rb +604 -0
  232. data/lib/openapi_client/api/us_autocompletions_api.rb +90 -0
  233. data/lib/openapi_client/api/us_verifications_api.rb +172 -0
  234. data/lib/openapi_client/api/zip_lookups_api.rb +90 -0
  235. data/lib/openapi_client/api_client.rb +392 -0
  236. data/lib/openapi_client/api_error.rb +57 -0
  237. data/lib/openapi_client/configuration.rb +279 -0
  238. data/lib/openapi_client/models/address.rb +616 -0
  239. data/lib/openapi_client/models/address_deletion.rb +303 -0
  240. data/lib/openapi_client/models/address_domestic.rb +522 -0
  241. data/lib/openapi_client/models/address_domestic_expanded.rb +521 -0
  242. data/lib/openapi_client/models/address_editable.rb +503 -0
  243. data/lib/openapi_client/models/address_list.rb +324 -0
  244. data/lib/openapi_client/models/bank_account.rb +576 -0
  245. data/lib/openapi_client/models/bank_account_deletion.rb +303 -0
  246. data/lib/openapi_client/models/bank_account_list.rb +324 -0
  247. data/lib/openapi_client/models/bank_account_verify.rb +264 -0
  248. data/lib/openapi_client/models/bank_account_writable.rb +387 -0
  249. data/lib/openapi_client/models/bank_type_enum.rb +37 -0
  250. data/lib/openapi_client/models/billing_group.rb +395 -0
  251. data/lib/openapi_client/models/billing_group_editable.rb +278 -0
  252. data/lib/openapi_client/models/billing_group_list.rb +314 -0
  253. data/lib/openapi_client/models/buckslip.rb +814 -0
  254. data/lib/openapi_client/models/buckslip_deletion.rb +257 -0
  255. data/lib/openapi_client/models/buckslip_editable.rb +316 -0
  256. data/lib/openapi_client/models/buckslip_order.rb +438 -0
  257. data/lib/openapi_client/models/buckslip_order_editable.rb +262 -0
  258. data/lib/openapi_client/models/buckslip_orders_list.rb +312 -0
  259. data/lib/openapi_client/models/buckslip_updatable.rb +289 -0
  260. data/lib/openapi_client/models/buckslips_list.rb +324 -0
  261. data/lib/openapi_client/models/bulk_error.rb +229 -0
  262. data/lib/openapi_client/models/bulk_error_properties.rb +274 -0
  263. data/lib/openapi_client/models/campaign.rb +549 -0
  264. data/lib/openapi_client/models/campaign_creative.rb +467 -0
  265. data/lib/openapi_client/models/campaign_deletion.rb +257 -0
  266. data/lib/openapi_client/models/campaign_updatable.rb +341 -0
  267. data/lib/openapi_client/models/campaign_writable.rb +373 -0
  268. data/lib/openapi_client/models/campaigns_list.rb +324 -0
  269. data/lib/openapi_client/models/card.rb +681 -0
  270. data/lib/openapi_client/models/card_deletion.rb +303 -0
  271. data/lib/openapi_client/models/card_editable.rb +318 -0
  272. data/lib/openapi_client/models/card_list.rb +324 -0
  273. data/lib/openapi_client/models/card_order.rb +438 -0
  274. data/lib/openapi_client/models/card_order_editable.rb +261 -0
  275. data/lib/openapi_client/models/card_order_list.rb +273 -0
  276. data/lib/openapi_client/models/card_updatable.rb +289 -0
  277. data/lib/openapi_client/models/check.rb +812 -0
  278. data/lib/openapi_client/models/check_deletion.rb +303 -0
  279. data/lib/openapi_client/models/check_editable.rb +537 -0
  280. data/lib/openapi_client/models/check_list.rb +324 -0
  281. data/lib/openapi_client/models/chk_use_type.rb +38 -0
  282. data/lib/openapi_client/models/cmp_schedule_type.rb +36 -0
  283. data/lib/openapi_client/models/cmp_use_type.rb +38 -0
  284. data/lib/openapi_client/models/country_extended.rb +254 -0
  285. data/lib/openapi_client/models/country_extended_expanded.rb +255 -0
  286. data/lib/openapi_client/models/creative_patch.rb +274 -0
  287. data/lib/openapi_client/models/creative_response.rb +444 -0
  288. data/lib/openapi_client/models/creative_writable.rb +400 -0
  289. data/lib/openapi_client/models/custom_envelope_returned.rb +319 -0
  290. data/lib/openapi_client/models/deliverability_analysis.rb +451 -0
  291. data/lib/openapi_client/models/dpv_footnote.rb +50 -0
  292. data/lib/openapi_client/models/engine_html.rb +37 -0
  293. data/lib/openapi_client/models/event_type.rb +325 -0
  294. data/lib/openapi_client/models/events.rb +365 -0
  295. data/lib/openapi_client/models/export.rb +422 -0
  296. data/lib/openapi_client/models/export_model.rb +262 -0
  297. data/lib/openapi_client/models/geocode_addresses.rb +237 -0
  298. data/lib/openapi_client/models/geocode_components.rb +291 -0
  299. data/lib/openapi_client/models/http_validation_error.rb +230 -0
  300. data/lib/openapi_client/models/identity_validation.rb +460 -0
  301. data/lib/openapi_client/models/inline_object.rb +229 -0
  302. data/lib/openapi_client/models/intl_autocompletions.rb +282 -0
  303. data/lib/openapi_client/models/intl_autocompletions_writable.rb +278 -0
  304. data/lib/openapi_client/models/intl_components.rb +314 -0
  305. data/lib/openapi_client/models/intl_suggestions.rb +372 -0
  306. data/lib/openapi_client/models/intl_verification.rb +463 -0
  307. data/lib/openapi_client/models/intl_verification_or_error.rb +466 -0
  308. data/lib/openapi_client/models/intl_verification_writable.rb +388 -0
  309. data/lib/openapi_client/models/intl_verifications.rb +250 -0
  310. data/lib/openapi_client/models/intl_verifications_payload.rb +263 -0
  311. data/lib/openapi_client/models/letter.rb +737 -0
  312. data/lib/openapi_client/models/letter_custom_envelope.rb +300 -0
  313. data/lib/openapi_client/models/letter_deletion.rb +303 -0
  314. data/lib/openapi_client/models/letter_details_returned.rb +393 -0
  315. data/lib/openapi_client/models/letter_details_writable.rb +390 -0
  316. data/lib/openapi_client/models/letter_editable.rb +532 -0
  317. data/lib/openapi_client/models/letter_list.rb +324 -0
  318. data/lib/openapi_client/models/lob_confidence_score.rb +299 -0
  319. data/lib/openapi_client/models/lob_error.rb +296 -0
  320. data/lib/openapi_client/models/location.rb +289 -0
  321. data/lib/openapi_client/models/location_analysis.rb +305 -0
  322. data/lib/openapi_client/models/ltr_use_type.rb +38 -0
  323. data/lib/openapi_client/models/mail_type.rb +37 -0
  324. data/lib/openapi_client/models/multi_line_address.rb +431 -0
  325. data/lib/openapi_client/models/multiple_components.rb +405 -0
  326. data/lib/openapi_client/models/multiple_components_intl.rb +377 -0
  327. data/lib/openapi_client/models/multiple_components_list.rb +263 -0
  328. data/lib/openapi_client/models/optional_address_column_mapping.rb +259 -0
  329. data/lib/openapi_client/models/placeholder_model.rb +273 -0
  330. data/lib/openapi_client/models/postcard.rb +656 -0
  331. data/lib/openapi_client/models/postcard_deletion.rb +303 -0
  332. data/lib/openapi_client/models/postcard_details_returned.rb +321 -0
  333. data/lib/openapi_client/models/postcard_details_writable.rb +242 -0
  334. data/lib/openapi_client/models/postcard_editable.rb +393 -0
  335. data/lib/openapi_client/models/postcard_list.rb +324 -0
  336. data/lib/openapi_client/models/postcard_size.rb +38 -0
  337. data/lib/openapi_client/models/psc_use_type.rb +38 -0
  338. data/lib/openapi_client/models/qr_code.rb +339 -0
  339. data/lib/openapi_client/models/required_address_column_mapping.rb +285 -0
  340. data/lib/openapi_client/models/return_envelope.rb +258 -0
  341. data/lib/openapi_client/models/reverse_geocode.rb +304 -0
  342. data/lib/openapi_client/models/self_mailer.rb +584 -0
  343. data/lib/openapi_client/models/self_mailer_deletion.rb +303 -0
  344. data/lib/openapi_client/models/self_mailer_editable.rb +384 -0
  345. data/lib/openapi_client/models/self_mailer_list.rb +324 -0
  346. data/lib/openapi_client/models/self_mailer_size.rb +38 -0
  347. data/lib/openapi_client/models/sfm_use_type.rb +38 -0
  348. data/lib/openapi_client/models/sort_by.rb +283 -0
  349. data/lib/openapi_client/models/sort_by1.rb +283 -0
  350. data/lib/openapi_client/models/sort_by2.rb +283 -0
  351. data/lib/openapi_client/models/sort_by3.rb +283 -0
  352. data/lib/openapi_client/models/sort_by_date_modified.rb +283 -0
  353. data/lib/openapi_client/models/suggestions.rb +343 -0
  354. data/lib/openapi_client/models/template.rb +406 -0
  355. data/lib/openapi_client/models/template_deletion.rb +303 -0
  356. data/lib/openapi_client/models/template_list.rb +324 -0
  357. data/lib/openapi_client/models/template_update.rb +272 -0
  358. data/lib/openapi_client/models/template_version.rb +423 -0
  359. data/lib/openapi_client/models/template_version_deletion.rb +303 -0
  360. data/lib/openapi_client/models/template_version_list.rb +324 -0
  361. data/lib/openapi_client/models/template_version_updatable.rb +257 -0
  362. data/lib/openapi_client/models/template_version_writable.rb +291 -0
  363. data/lib/openapi_client/models/template_writable.rb +309 -0
  364. data/lib/openapi_client/models/thumbnail.rb +300 -0
  365. data/lib/openapi_client/models/tracking_event_certified.rb +419 -0
  366. data/lib/openapi_client/models/tracking_event_details.rb +308 -0
  367. data/lib/openapi_client/models/tracking_event_normal.rb +409 -0
  368. data/lib/openapi_client/models/upload.rb +498 -0
  369. data/lib/openapi_client/models/upload_create_export.rb +283 -0
  370. data/lib/openapi_client/models/upload_file.rb +283 -0
  371. data/lib/openapi_client/models/upload_state.rb +42 -0
  372. data/lib/openapi_client/models/upload_updatable.rb +267 -0
  373. data/lib/openapi_client/models/upload_writable.rb +271 -0
  374. data/lib/openapi_client/models/uploads_metadata.rb +237 -0
  375. data/lib/openapi_client/models/us_autocompletions.rb +328 -0
  376. data/lib/openapi_client/models/us_autocompletions_writable.rb +274 -0
  377. data/lib/openapi_client/models/us_components.rb +761 -0
  378. data/lib/openapi_client/models/us_verification.rb +461 -0
  379. data/lib/openapi_client/models/us_verification_or_error.rb +459 -0
  380. data/lib/openapi_client/models/us_verifications.rb +250 -0
  381. data/lib/openapi_client/models/us_verifications_writable.rb +421 -0
  382. data/lib/openapi_client/models/validation_error.rb +263 -0
  383. data/lib/openapi_client/models/zip.rb +363 -0
  384. data/lib/openapi_client/models/zip_code_type.rb +40 -0
  385. data/lib/openapi_client/models/zip_editable.rb +246 -0
  386. data/lib/openapi_client/models/zip_lookup_city.rb +331 -0
  387. data/lib/openapi_client/version.rb +15 -0
  388. data/lib/openapi_client.rb +212 -0
  389. data/openapi_client.gemspec +37 -0
  390. data/spec/api/addresses_api_spec.rb +88 -0
  391. data/spec/api/bank_accounts_api_spec.rb +101 -0
  392. data/spec/api/billing_groups_api_spec.rb +89 -0
  393. data/spec/api/campaigns_api_spec.rb +100 -0
  394. data/spec/api/card_orders_api_spec.rb +62 -0
  395. data/spec/api/cards_api_spec.rb +99 -0
  396. data/spec/api/checks_api_spec.rb +93 -0
  397. data/spec/api/creatives_api_spec.rb +73 -0
  398. data/spec/api/default_api_spec.rb +46 -0
  399. data/spec/api/identity_validation_api_spec.rb +47 -0
  400. data/spec/api/intl_autocompletions_api_spec.rb +48 -0
  401. data/spec/api/intl_verifications_api_spec.rb +60 -0
  402. data/spec/api/letters_api_spec.rb +94 -0
  403. data/spec/api/postcards_api_spec.rb +94 -0
  404. data/spec/api/reverse_geocode_lookups_api_spec.rb +48 -0
  405. data/spec/api/self_mailers_api_spec.rb +94 -0
  406. data/spec/api/template_versions_api_spec.rb +105 -0
  407. data/spec/api/templates_api_spec.rb +101 -0
  408. data/spec/api/uploads_api_spec.rb +135 -0
  409. data/spec/api/us_autocompletions_api_spec.rb +47 -0
  410. data/spec/api/us_verifications_api_spec.rb +61 -0
  411. data/spec/api/zip_lookups_api_spec.rb +47 -0
  412. data/spec/api_client_spec.rb +226 -0
  413. data/spec/configuration_spec.rb +42 -0
  414. data/spec/spec_helper.rb +105 -13
  415. metadata +449 -215
  416. data/.github/workflows/forked_tests_job.yml +0 -36
  417. data/.github/workflows/run_tests_job.yml +0 -32
  418. data/.github/workflows/update_gem.yml +0 -27
  419. data/.gitignore +0 -19
  420. data/CHANGELOG.md +0 -148
  421. data/CONTRIBUTING.md +0 -19
  422. data/LICENSE.txt +0 -22
  423. data/examples/README.md +0 -119
  424. data/examples/cards.rb +0 -51
  425. data/examples/checks.rb +0 -49
  426. data/examples/csv_checks/create_checks.rb +0 -48
  427. data/examples/csv_checks/input.csv +0 -6
  428. data/examples/csv_letters/create_letters.rb +0 -41
  429. data/examples/csv_letters/input.csv +0 -6
  430. data/examples/csv_letters/letter_template.html +0 -33
  431. data/examples/csv_postcards/create_postcards.rb +0 -46
  432. data/examples/csv_postcards/input.csv +0 -7
  433. data/examples/csv_postcards/postcard_back.html +0 -38
  434. data/examples/csv_postcards/postcard_front.html +0 -25
  435. data/examples/csv_verify/input.csv +0 -7
  436. data/examples/csv_verify/verify.rb +0 -37
  437. data/examples/letters.rb +0 -73
  438. data/examples/list_postcards_metadata.rb +0 -94
  439. data/examples/postcards.rb +0 -87
  440. data/examples/postcards_idempotent.rb +0 -92
  441. data/examples/postcards_intl.rb +0 -87
  442. data/examples/postcards_remote.rb +0 -87
  443. data/examples/postcards_send_date.rb +0 -97
  444. data/examples/postcards_template.rb +0 -98
  445. data/examples/self_mailers.rb +0 -38
  446. data/lib/lob/client.rb +0 -96
  447. data/lib/lob/errors/invalid_request_error.rb +0 -4
  448. data/lib/lob/errors/lob_error.rb +0 -20
  449. data/lib/lob/resources/address.rb +0 -14
  450. data/lib/lob/resources/bank_account.rb +0 -30
  451. data/lib/lob/resources/bulk_intl_verifications.rb +0 -27
  452. data/lib/lob/resources/bulk_us_verifications.rb +0 -28
  453. data/lib/lob/resources/card.rb +0 -46
  454. data/lib/lob/resources/check.rb +0 -14
  455. data/lib/lob/resources/group.rb +0 -14
  456. data/lib/lob/resources/groups_member.rb +0 -66
  457. data/lib/lob/resources/intl_verifications.rb +0 -26
  458. data/lib/lob/resources/letter.rb +0 -14
  459. data/lib/lob/resources/postcard.rb +0 -14
  460. data/lib/lob/resources/resource_base.rb +0 -150
  461. data/lib/lob/resources/self_mailer.rb +0 -14
  462. data/lib/lob/resources/us_autocompletions.rb +0 -26
  463. data/lib/lob/resources/us_reverse_geocode_lookups.rb +0 -26
  464. data/lib/lob/resources/us_verifications.rb +0 -27
  465. data/lib/lob/resources/us_zip_lookups.rb +0 -26
  466. data/lib/lob/version.rb +0 -3
  467. data/lib/lob.rb +0 -7
  468. data/lob.gemspec +0 -31
  469. data/spec/lob/errors/lob_error_spec.rb +0 -19
  470. data/spec/lob/resources/address_spec.rb +0 -55
  471. data/spec/lob/resources/bank_account_spec.rb +0 -60
  472. data/spec/lob/resources/bulk_intl_verifications_spec.rb +0 -39
  473. data/spec/lob/resources/bulk_us_verifications_spec.rb +0 -51
  474. data/spec/lob/resources/card_spec.rb +0 -145
  475. data/spec/lob/resources/check_spec.rb +0 -119
  476. data/spec/lob/resources/group_spec.rb +0 -50
  477. data/spec/lob/resources/intl_verifications_spec.rb +0 -25
  478. data/spec/lob/resources/letter_spec.rb +0 -114
  479. data/spec/lob/resources/member_spec.rb +0 -65
  480. data/spec/lob/resources/postcard_spec.rb +0 -160
  481. data/spec/lob/resources/resource_base_spec.rb +0 -75
  482. data/spec/lob/resources/self_mailer_spec.rb +0 -177
  483. data/spec/lob/resources/us_autocompletions_spec.rb +0 -24
  484. data/spec/lob/resources/us_reverse_geocode_lookups_spec.rb +0 -22
  485. data/spec/lob/resources/us_verifications_spec.rb +0 -31
  486. data/spec/lob/resources/us_zip_lookups_spec.rb +0 -23
  487. data/spec/lob_spec.rb +0 -48
  488. data/spec/samples/8.5x11.pdf +0 -0
  489. data/spec/samples/card.pdf +1 -743
  490. data/spec/samples/postcardback.pdf +2 -2287
  491. data/spec/samples/postcardfront.pdf +1 -1549
  492. data/spec/samples/sfm-12x9-inside.pdf +0 -0
  493. data/spec/samples/sfm-12x9-outside.pdf +0 -0
  494. data/spec/samples/sfm-6x18-inside.pdf +0 -0
  495. data/spec/samples/sfm-6x18-outside.pdf +0 -0
@@ -0,0 +1,101 @@
1
+ =begin
2
+ #Lob
3
+
4
+ #The Lob API is organized around REST. Our API is designed to have predictable, resource-oriented URLs and uses HTTP response codes to indicate any API errors. <p> Looking for our [previous documentation](https://lob.github.io/legacy-docs/)?
5
+
6
+ The version of the OpenAPI document: 1.3.0
7
+ Contact: lob-openapi@lob.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.2.1
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+ require 'json'
15
+
16
+ # Unit tests for Lob::TemplatesApi
17
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
18
+ # Please update as you see appropriate
19
+ describe 'TemplatesApi' do
20
+ before do
21
+ # run before each test
22
+ @api_instance = Lob::TemplatesApi.new
23
+ end
24
+
25
+ after do
26
+ # run after each test
27
+ end
28
+
29
+ describe 'test an instance of TemplatesApi' do
30
+ it 'should create an instance of TemplatesApi' do
31
+ expect(@api_instance).to be_instance_of(Lob::TemplatesApi)
32
+ end
33
+ end
34
+
35
+ # unit tests for create_template
36
+ # create
37
+ # Creates a new template for use with the Print &amp; Mail API. In Live mode, you can only have as many non-deleted templates as allotted in your current [Print &amp; Mail Edition](https://dashboard.lob.com/#/settings/editions). If you attempt to create a template past your limit, you will receive a &#x60;403&#x60; error. There is no limit in Test mode.
38
+ # @param template_writable
39
+ # @param [Hash] opts the optional parameters
40
+ # @return [Template]
41
+ describe 'create_template test' do
42
+ it 'should work' do
43
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
44
+ end
45
+ end
46
+
47
+ # unit tests for template_delete
48
+ # delete
49
+ # Permanently deletes a template.
50
+ # @param tmpl_id id of the template
51
+ # @param [Hash] opts the optional parameters
52
+ # @return [TemplateDeletion]
53
+ describe 'template_delete test' do
54
+ it 'should work' do
55
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
56
+ end
57
+ end
58
+
59
+ # unit tests for template_retrieve
60
+ # get
61
+ # Retrieves the details of an existing template.
62
+ # @param tmpl_id id of the template
63
+ # @param [Hash] opts the optional parameters
64
+ # @return [Template]
65
+ describe 'template_retrieve test' do
66
+ it 'should work' do
67
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
68
+ end
69
+ end
70
+
71
+ # unit tests for template_update
72
+ # update
73
+ # Updates the description and/or published version of the template with the given id.
74
+ # @param tmpl_id id of the template
75
+ # @param template_update
76
+ # @param [Hash] opts the optional parameters
77
+ # @return [Template]
78
+ describe 'template_update test' do
79
+ it 'should work' do
80
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
81
+ end
82
+ end
83
+
84
+ # unit tests for templates_list
85
+ # list
86
+ # Returns a list of your templates. The templates are returned sorted by creation date, with the most recently created templates appearing first.
87
+ # @param [Hash] opts the optional parameters
88
+ # @option opts [Integer] :limit How many results to return.
89
+ # @option opts [String] :before A reference to a list entry used for paginating to the previous set of entries. This field is pre-populated in the &#x60;previous_url&#x60; field in the return response.
90
+ # @option opts [String] :after A reference to a list entry used for paginating to the next set of entries. This field is pre-populated in the &#x60;next_url&#x60; field in the return response.
91
+ # @option opts [Array<String>] :include Request that the response include the total count by specifying &#x60;include[]&#x3D;total_count&#x60;.
92
+ # @option opts [Hash<String, Time>] :date_created Filter by date created.
93
+ # @option opts [Hash<String, String>] :metadata Filter by metadata key-value pair&#x60;.
94
+ # @return [TemplateList]
95
+ describe 'templates_list test' do
96
+ it 'should work' do
97
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
98
+ end
99
+ end
100
+
101
+ end
@@ -0,0 +1,135 @@
1
+ =begin
2
+ #Lob
3
+
4
+ #The Lob API is organized around REST. Our API is designed to have predictable, resource-oriented URLs and uses HTTP response codes to indicate any API errors. <p> Looking for our [previous documentation](https://lob.github.io/legacy-docs/)?
5
+
6
+ The version of the OpenAPI document: 1.3.0
7
+ Contact: lob-openapi@lob.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.2.1
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+ require 'json'
15
+
16
+ # Unit tests for Lob::UploadsApi
17
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
18
+ # Please update as you see appropriate
19
+ describe 'UploadsApi' do
20
+ before do
21
+ # run before each test
22
+ @api_instance = Lob::UploadsApi.new
23
+ end
24
+
25
+ after do
26
+ # run after each test
27
+ end
28
+
29
+ describe 'test an instance of UploadsApi' do
30
+ it 'should create an instance of UploadsApi' do
31
+ expect(@api_instance).to be_instance_of(Lob::UploadsApi)
32
+ end
33
+ end
34
+
35
+ # unit tests for export_retrieve
36
+ # get_export
37
+ # Retrieves the details of an existing export. You need only supply the unique export identifier that was returned upon export creation. If you try retrieving an export immediately after creating one (i.e., before we&#39;re done processing the export), you will get back an export object with &#x60;state &#x3D; in_progress&#x60;.
38
+ # @param upl_id ID of the upload
39
+ # @param ex_id ID of the export
40
+ # @param [Hash] opts the optional parameters
41
+ # @return [Export]
42
+ describe 'export_retrieve test' do
43
+ it 'should work' do
44
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
45
+ end
46
+ end
47
+
48
+ # unit tests for upload_create
49
+ # create_upload
50
+ # Creates a new upload with the provided properties.
51
+ # @param upload_writable
52
+ # @param [Hash] opts the optional parameters
53
+ # @return [Upload]
54
+ describe 'upload_create test' do
55
+ it 'should work' do
56
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
57
+ end
58
+ end
59
+
60
+ # unit tests for upload_delete
61
+ # delete_upload
62
+ # Delete an existing upload. You need only supply the unique identifier that was returned upon upload creation.
63
+ # @param upl_id id of the upload
64
+ # @param [Hash] opts the optional parameters
65
+ # @return [nil]
66
+ describe 'upload_delete test' do
67
+ it 'should work' do
68
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
69
+ end
70
+ end
71
+
72
+ # unit tests for upload_export_create
73
+ # create_export
74
+ # Campaign Exports can help you understand exactly which records in a campaign could not be created. By initiating and retrieving an export, you will get row-by-row errors for your campaign. For a step-by-step walkthrough of creating a campaign and exporting failures, see our [Campaigns Guide](https://help.lob.com/best-practices/launching-your-first-campaign). Create an export file associated with an upload.
75
+ # @param upl_id ID of the upload
76
+ # @param export_model
77
+ # @param [Hash] opts the optional parameters
78
+ # @return [UploadCreateExport]
79
+ describe 'upload_export_create test' do
80
+ it 'should work' do
81
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
82
+ end
83
+ end
84
+
85
+ # unit tests for upload_file_create
86
+ # upload_file
87
+ # Upload an [audience file](https://help.lob.com/best-practices/campaign-audience-guide) and associate it with an upload.
88
+ # @param upl_id ID of the upload
89
+ # @param file
90
+ # @param [Hash] opts the optional parameters
91
+ # @return [UploadFile]
92
+ describe 'upload_file_create test' do
93
+ it 'should work' do
94
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
95
+ end
96
+ end
97
+
98
+ # unit tests for upload_retrieve
99
+ # get_upload
100
+ # Retrieves the details of an existing upload. You need only supply the unique upload identifier that was returned upon upload creation.
101
+ # @param upl_id id of the upload
102
+ # @param [Hash] opts the optional parameters
103
+ # @return [Upload]
104
+ describe 'upload_retrieve test' do
105
+ it 'should work' do
106
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
107
+ end
108
+ end
109
+
110
+ # unit tests for upload_update
111
+ # update_upload
112
+ # Update the details of an existing upload. You need only supply the unique identifier that was returned upon upload creation.
113
+ # @param upl_id id of the upload
114
+ # @param upload_updatable
115
+ # @param [Hash] opts the optional parameters
116
+ # @return [Upload]
117
+ describe 'upload_update test' do
118
+ it 'should work' do
119
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
120
+ end
121
+ end
122
+
123
+ # unit tests for uploads_list
124
+ # list_upload
125
+ # Returns a list of your uploads. Optionally, filter uploads by campaign.
126
+ # @param [Hash] opts the optional parameters
127
+ # @option opts [String] :campaign_id id of the campaign
128
+ # @return [Array<Upload>]
129
+ describe 'uploads_list test' do
130
+ it 'should work' do
131
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
132
+ end
133
+ end
134
+
135
+ end
@@ -0,0 +1,47 @@
1
+ =begin
2
+ #Lob
3
+
4
+ #The Lob API is organized around REST. Our API is designed to have predictable, resource-oriented URLs and uses HTTP response codes to indicate any API errors. <p> Looking for our [previous documentation](https://lob.github.io/legacy-docs/)?
5
+
6
+ The version of the OpenAPI document: 1.3.0
7
+ Contact: lob-openapi@lob.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.2.1
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+ require 'json'
15
+
16
+ # Unit tests for Lob::UsAutocompletionsApi
17
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
18
+ # Please update as you see appropriate
19
+ describe 'UsAutocompletionsApi' do
20
+ before do
21
+ # run before each test
22
+ @api_instance = Lob::UsAutocompletionsApi.new
23
+ end
24
+
25
+ after do
26
+ # run after each test
27
+ end
28
+
29
+ describe 'test an instance of UsAutocompletionsApi' do
30
+ it 'should create an instance of UsAutocompletionsApi' do
31
+ expect(@api_instance).to be_instance_of(Lob::UsAutocompletionsApi)
32
+ end
33
+ end
34
+
35
+ # unit tests for us_autocompletion
36
+ # autocomplete
37
+ # Given an address prefix consisting of a partial primary line, as well as optional input of city, state, and zip code, this functionality returns up to 10 full US address suggestions. Not all of them will turn out to be valid addresses; they&#39;ll need to be [verified](#operation/verification_us).
38
+ # @param us_autocompletions_writable
39
+ # @param [Hash] opts the optional parameters
40
+ # @return [UsAutocompletions]
41
+ describe 'us_autocompletion test' do
42
+ it 'should work' do
43
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
44
+ end
45
+ end
46
+
47
+ end
@@ -0,0 +1,61 @@
1
+ =begin
2
+ #Lob
3
+
4
+ #The Lob API is organized around REST. Our API is designed to have predictable, resource-oriented URLs and uses HTTP response codes to indicate any API errors. <p> Looking for our [previous documentation](https://lob.github.io/legacy-docs/)?
5
+
6
+ The version of the OpenAPI document: 1.3.0
7
+ Contact: lob-openapi@lob.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.2.1
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+ require 'json'
15
+
16
+ # Unit tests for Lob::UsVerificationsApi
17
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
18
+ # Please update as you see appropriate
19
+ describe 'UsVerificationsApi' do
20
+ before do
21
+ # run before each test
22
+ @api_instance = Lob::UsVerificationsApi.new
23
+ end
24
+
25
+ after do
26
+ # run after each test
27
+ end
28
+
29
+ describe 'test an instance of UsVerificationsApi' do
30
+ it 'should create an instance of UsVerificationsApi' do
31
+ expect(@api_instance).to be_instance_of(Lob::UsVerificationsApi)
32
+ end
33
+ end
34
+
35
+ # unit tests for bulk_us_verifications
36
+ # verifyBulk
37
+ # Verify a list of US or US territory addresses with a live API key.
38
+ # @param multiple_components_list
39
+ # @param [Hash] opts the optional parameters
40
+ # @option opts [String] :_case Casing of the verified address. Possible values are &#x60;upper&#x60; and &#x60;proper&#x60; for uppercased (e.g. \&quot;PO BOX\&quot;) and proper-cased (e.g. \&quot;PO Box\&quot;), respectively.
41
+ # @return [UsVerifications]
42
+ describe 'bulk_us_verifications test' do
43
+ it 'should work' do
44
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
45
+ end
46
+ end
47
+
48
+ # unit tests for us_verification
49
+ # verifySingle
50
+ # Verify a US or US territory address with a live API key.
51
+ # @param us_verifications_writable
52
+ # @param [Hash] opts the optional parameters
53
+ # @option opts [String] :_case Casing of the verified address. Possible values are &#x60;upper&#x60; and &#x60;proper&#x60; for uppercased (e.g. \&quot;PO BOX\&quot;) and proper-cased (e.g. \&quot;PO Box\&quot;), respectively.
54
+ # @return [UsVerification]
55
+ describe 'us_verification test' do
56
+ it 'should work' do
57
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
58
+ end
59
+ end
60
+
61
+ end
@@ -0,0 +1,47 @@
1
+ =begin
2
+ #Lob
3
+
4
+ #The Lob API is organized around REST. Our API is designed to have predictable, resource-oriented URLs and uses HTTP response codes to indicate any API errors. <p> Looking for our [previous documentation](https://lob.github.io/legacy-docs/)?
5
+
6
+ The version of the OpenAPI document: 1.3.0
7
+ Contact: lob-openapi@lob.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.2.1
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+ require 'json'
15
+
16
+ # Unit tests for Lob::ZipLookupsApi
17
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
18
+ # Please update as you see appropriate
19
+ describe 'ZipLookupsApi' do
20
+ before do
21
+ # run before each test
22
+ @api_instance = Lob::ZipLookupsApi.new
23
+ end
24
+
25
+ after do
26
+ # run after each test
27
+ end
28
+
29
+ describe 'test an instance of ZipLookupsApi' do
30
+ it 'should create an instance of ZipLookupsApi' do
31
+ expect(@api_instance).to be_instance_of(Lob::ZipLookupsApi)
32
+ end
33
+ end
34
+
35
+ # unit tests for zip_lookup
36
+ # lookup
37
+ # Returns information about a ZIP code
38
+ # @param zip_editable
39
+ # @param [Hash] opts the optional parameters
40
+ # @return [Zip]
41
+ describe 'zip_lookup test' do
42
+ it 'should work' do
43
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
44
+ end
45
+ end
46
+
47
+ end
@@ -0,0 +1,226 @@
1
+ =begin
2
+ #Lob
3
+
4
+ #The Lob API is organized around REST. Our API is designed to have predictable, resource-oriented URLs and uses HTTP response codes to indicate any API errors. <p> Looking for our [previous documentation](https://lob.github.io/legacy-docs/)?
5
+
6
+ The version of the OpenAPI document: 1.3.0
7
+ Contact: lob-openapi@lob.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.2.1
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+
15
+ describe Lob::ApiClient do
16
+ context 'initialization' do
17
+ context 'URL stuff' do
18
+ context 'host' do
19
+ it 'removes http from host' do
20
+ Lob.configure { |c| c.host = 'http://example.com' }
21
+ expect(Lob::Configuration.default.host).to eq('example.com')
22
+ end
23
+
24
+ it 'removes https from host' do
25
+ Lob.configure { |c| c.host = 'https://wookiee.com' }
26
+ expect(Lob::ApiClient.default.config.host).to eq('wookiee.com')
27
+ end
28
+
29
+ it 'removes trailing path from host' do
30
+ Lob.configure { |c| c.host = 'hobo.com/v4' }
31
+ expect(Lob::Configuration.default.host).to eq('hobo.com')
32
+ end
33
+ end
34
+
35
+ context 'base_path' do
36
+ it "prepends a slash to base_path" do
37
+ Lob.configure { |c| c.base_path = 'v4/dog' }
38
+ expect(Lob::Configuration.default.base_path).to eq('/v4/dog')
39
+ end
40
+
41
+ it "doesn't prepend a slash if one is already there" do
42
+ Lob.configure { |c| c.base_path = '/v4/dog' }
43
+ expect(Lob::Configuration.default.base_path).to eq('/v4/dog')
44
+ end
45
+
46
+ it "ends up as a blank string if nil" do
47
+ Lob.configure { |c| c.base_path = nil }
48
+ expect(Lob::Configuration.default.base_path).to eq('')
49
+ end
50
+ end
51
+ end
52
+ end
53
+
54
+ describe 'params_encoding in #build_request' do
55
+ let(:config) { Lob::Configuration.new }
56
+ let(:api_client) { Lob::ApiClient.new(config) }
57
+
58
+ it 'defaults to nil' do
59
+ expect(Lob::Configuration.default.params_encoding).to eq(nil)
60
+ expect(config.params_encoding).to eq(nil)
61
+
62
+ request = api_client.build_request(:get, '/test')
63
+ expect(request.options[:params_encoding]).to eq(nil)
64
+ end
65
+
66
+ it 'can be customized' do
67
+ config.params_encoding = :multi
68
+ request = api_client.build_request(:get, '/test')
69
+ expect(request.options[:params_encoding]).to eq(:multi)
70
+ end
71
+ end
72
+
73
+ describe 'timeout in #build_request' do
74
+ let(:config) { Lob::Configuration.new }
75
+ let(:api_client) { Lob::ApiClient.new(config) }
76
+
77
+ it 'defaults to 0' do
78
+ expect(Lob::Configuration.default.timeout).to eq(0)
79
+ expect(config.timeout).to eq(0)
80
+
81
+ request = api_client.build_request(:get, '/test')
82
+ expect(request.options[:timeout]).to eq(0)
83
+ end
84
+
85
+ it 'can be customized' do
86
+ config.timeout = 100
87
+ request = api_client.build_request(:get, '/test')
88
+ expect(request.options[:timeout]).to eq(100)
89
+ end
90
+ end
91
+
92
+ describe '#deserialize' do
93
+ it "handles Array<Integer>" do
94
+ api_client = Lob::ApiClient.new
95
+ headers = { 'Content-Type' => 'application/json' }
96
+ response = double('response', headers: headers, body: '[12, 34]')
97
+ data = api_client.deserialize(response, 'Array<Integer>')
98
+ expect(data).to be_instance_of(Array)
99
+ expect(data).to eq([12, 34])
100
+ end
101
+
102
+ it 'handles Array<Array<Integer>>' do
103
+ api_client = Lob::ApiClient.new
104
+ headers = { 'Content-Type' => 'application/json' }
105
+ response = double('response', headers: headers, body: '[[12, 34], [56]]')
106
+ data = api_client.deserialize(response, 'Array<Array<Integer>>')
107
+ expect(data).to be_instance_of(Array)
108
+ expect(data).to eq([[12, 34], [56]])
109
+ end
110
+
111
+ it 'handles Hash<String, String>' do
112
+ api_client = Lob::ApiClient.new
113
+ headers = { 'Content-Type' => 'application/json' }
114
+ response = double('response', headers: headers, body: '{"message": "Hello"}')
115
+ data = api_client.deserialize(response, 'Hash<String, String>')
116
+ expect(data).to be_instance_of(Hash)
117
+ expect(data).to eq(:message => 'Hello')
118
+ end
119
+ end
120
+
121
+ describe "#object_to_hash" do
122
+ it 'ignores nils and includes empty arrays' do
123
+ # uncomment below to test object_to_hash for model
124
+ # api_client = Lob::ApiClient.new
125
+ # _model = Lob::ModelName.new
126
+ # update the model attribute below
127
+ # _model.id = 1
128
+ # update the expected value (hash) below
129
+ # expected = {id: 1, name: '', tags: []}
130
+ # expect(api_client.object_to_hash(_model)).to eq(expected)
131
+ end
132
+ end
133
+
134
+ describe '#build_collection_param' do
135
+ let(:param) { ['aa', 'bb', 'cc'] }
136
+ let(:api_client) { Lob::ApiClient.new }
137
+
138
+ it 'works for csv' do
139
+ expect(api_client.build_collection_param(param, :csv)).to eq('aa,bb,cc')
140
+ end
141
+
142
+ it 'works for ssv' do
143
+ expect(api_client.build_collection_param(param, :ssv)).to eq('aa bb cc')
144
+ end
145
+
146
+ it 'works for tsv' do
147
+ expect(api_client.build_collection_param(param, :tsv)).to eq("aa\tbb\tcc")
148
+ end
149
+
150
+ it 'works for pipes' do
151
+ expect(api_client.build_collection_param(param, :pipes)).to eq('aa|bb|cc')
152
+ end
153
+
154
+ it 'works for multi' do
155
+ expect(api_client.build_collection_param(param, :multi)).to eq(['aa', 'bb', 'cc'])
156
+ end
157
+
158
+ it 'fails for invalid collection format' do
159
+ expect { api_client.build_collection_param(param, :INVALID) }.to raise_error(RuntimeError, 'unknown collection format: :INVALID')
160
+ end
161
+ end
162
+
163
+ describe '#json_mime?' do
164
+ let(:api_client) { Lob::ApiClient.new }
165
+
166
+ it 'works' do
167
+ expect(api_client.json_mime?(nil)).to eq false
168
+ expect(api_client.json_mime?('')).to eq false
169
+
170
+ expect(api_client.json_mime?('application/json')).to eq true
171
+ expect(api_client.json_mime?('application/json; charset=UTF8')).to eq true
172
+ expect(api_client.json_mime?('APPLICATION/JSON')).to eq true
173
+
174
+ expect(api_client.json_mime?('application/xml')).to eq false
175
+ expect(api_client.json_mime?('text/plain')).to eq false
176
+ expect(api_client.json_mime?('application/jsonp')).to eq false
177
+ end
178
+ end
179
+
180
+ describe '#select_header_accept' do
181
+ let(:api_client) { Lob::ApiClient.new }
182
+
183
+ it 'works' do
184
+ expect(api_client.select_header_accept(nil)).to be_nil
185
+ expect(api_client.select_header_accept([])).to be_nil
186
+
187
+ expect(api_client.select_header_accept(['application/json'])).to eq('application/json')
188
+ expect(api_client.select_header_accept(['application/xml', 'application/json; charset=UTF8'])).to eq('application/json; charset=UTF8')
189
+ expect(api_client.select_header_accept(['APPLICATION/JSON', 'text/html'])).to eq('APPLICATION/JSON')
190
+
191
+ expect(api_client.select_header_accept(['application/xml'])).to eq('application/xml')
192
+ expect(api_client.select_header_accept(['text/html', 'application/xml'])).to eq('text/html,application/xml')
193
+ end
194
+ end
195
+
196
+ describe '#select_header_content_type' do
197
+ let(:api_client) { Lob::ApiClient.new }
198
+
199
+ it 'works' do
200
+ expect(api_client.select_header_content_type(nil)).to be_nil
201
+ expect(api_client.select_header_content_type([])).to be_nil
202
+
203
+ expect(api_client.select_header_content_type(['application/json'])).to eq('application/json')
204
+ expect(api_client.select_header_content_type(['application/xml', 'application/json; charset=UTF8'])).to eq('application/json; charset=UTF8')
205
+ expect(api_client.select_header_content_type(['APPLICATION/JSON', 'text/html'])).to eq('APPLICATION/JSON')
206
+ expect(api_client.select_header_content_type(['application/xml'])).to eq('application/xml')
207
+ expect(api_client.select_header_content_type(['text/plain', 'application/xml'])).to eq('text/plain')
208
+ end
209
+ end
210
+
211
+ describe '#sanitize_filename' do
212
+ let(:api_client) { Lob::ApiClient.new }
213
+
214
+ it 'works' do
215
+ expect(api_client.sanitize_filename('sun')).to eq('sun')
216
+ expect(api_client.sanitize_filename('sun.gif')).to eq('sun.gif')
217
+ expect(api_client.sanitize_filename('../sun.gif')).to eq('sun.gif')
218
+ expect(api_client.sanitize_filename('/var/tmp/sun.gif')).to eq('sun.gif')
219
+ expect(api_client.sanitize_filename('./sun.gif')).to eq('sun.gif')
220
+ expect(api_client.sanitize_filename('..\sun.gif')).to eq('sun.gif')
221
+ expect(api_client.sanitize_filename('\var\tmp\sun.gif')).to eq('sun.gif')
222
+ expect(api_client.sanitize_filename('c:\var\tmp\sun.gif')).to eq('sun.gif')
223
+ expect(api_client.sanitize_filename('.\sun.gif')).to eq('sun.gif')
224
+ end
225
+ end
226
+ end
@@ -0,0 +1,42 @@
1
+ =begin
2
+ #Lob
3
+
4
+ #The Lob API is organized around REST. Our API is designed to have predictable, resource-oriented URLs and uses HTTP response codes to indicate any API errors. <p> Looking for our [previous documentation](https://lob.github.io/legacy-docs/)?
5
+
6
+ The version of the OpenAPI document: 1.3.0
7
+ Contact: lob-openapi@lob.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.2.1
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+
15
+ describe Lob::Configuration do
16
+ let(:config) { Lob::Configuration.default }
17
+
18
+ before(:each) do
19
+ # uncomment below to setup host and base_path
20
+ # require 'URI'
21
+ # uri = URI.parse("https://api.lob.com/v1")
22
+ # Lob.configure do |c|
23
+ # c.host = uri.host
24
+ # c.base_path = uri.path
25
+ # end
26
+ end
27
+
28
+ describe '#base_url' do
29
+ it 'should have the default value' do
30
+ # uncomment below to test default value of the base path
31
+ # expect(config.base_url).to eq("https://api.lob.com/v1")
32
+ end
33
+
34
+ it 'should remove trailing slashes' do
35
+ [nil, '', '/', '//'].each do |base_path|
36
+ config.base_path = base_path
37
+ # uncomment below to test trailing slashes
38
+ # expect(config.base_url).to eq("https://api.lob.com/v1")
39
+ end
40
+ end
41
+ end
42
+ end