mailgun.js 5.0.3 → 5.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (313) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +15 -3
  3. package/client.d.ts +29 -0
  4. package/domains.d.ts +53 -0
  5. package/domainsCredentials.d.ts +14 -0
  6. package/domainsTags.d.ts +34 -0
  7. package/domainsTemplates.d.ts +35 -0
  8. package/error.d.ts +7 -0
  9. package/events.d.ts +13 -0
  10. package/index.d.ts +9 -0
  11. package/interfaces/APIErrorOptions.d.ts +11 -0
  12. package/{lib/interfaces/ApiResponse.ts → interfaces/ApiResponse.d.ts} +1 -2
  13. package/{lib/interfaces/DomainCredentials.ts → interfaces/DomainCredentials.d.ts} +14 -30
  14. package/{lib/interfaces/DomainTags.ts → interfaces/DomainTags.d.ts} +49 -82
  15. package/{lib/interfaces/DomainTemplates.ts → interfaces/DomainTemplates.d.ts} +35 -79
  16. package/{lib/interfaces/DomainTracking.ts → interfaces/DomainTracking.d.ts} +18 -17
  17. package/{lib/interfaces/Domains.ts → interfaces/Domains.d.ts} +29 -50
  18. package/{lib/interfaces/Events.ts → interfaces/Events.d.ts} +11 -12
  19. package/{lib/interfaces/IFormData.ts → interfaces/IFormData.d.ts} +2 -4
  20. package/interfaces/IMailgunClient.d.ts +24 -0
  21. package/interfaces/IpPools.d.ts +19 -0
  22. package/interfaces/Ips.d.ts +10 -0
  23. package/{lib/interfaces/MultipleValidation.ts → interfaces/MultipleValidation.d.ts} +9 -16
  24. package/interfaces/Options.d.ts +8 -0
  25. package/{lib/interfaces/RequestOptions.ts → interfaces/RequestOptions.d.ts} +2 -4
  26. package/interfaces/StatsOptions.d.ts +22 -0
  27. package/interfaces/Supressions.d.ts +103 -0
  28. package/{lib/interfaces/Validate.ts → interfaces/Validate.d.ts} +0 -3
  29. package/{lib/interfaces/Webhooks.ts → interfaces/Webhooks.d.ts} +11 -17
  30. package/{lib/interfaces/lists.ts → interfaces/lists.d.ts} +1 -5
  31. package/{lib/interfaces/mailListMembers.ts → interfaces/mailListMembers.d.ts} +8 -23
  32. package/{lib/interfaces/routes.ts → interfaces/routes.d.ts} +1 -6
  33. package/ip-pools.d.ts +21 -0
  34. package/ips.d.ts +9 -0
  35. package/lists.d.ts +14 -0
  36. package/mailListMembers.d.ts +14 -0
  37. package/mailgun.node.js +3 -0
  38. package/{dist/mailgun.node.js.LICENSE.txt → mailgun.node.js.LICENSE.txt} +1 -1
  39. package/mailgun.web.js +3 -0
  40. package/{dist/mailgun.web.js.LICENSE.txt → mailgun.web.js.LICENSE.txt} +1 -1
  41. package/messages.d.ts +9 -0
  42. package/multipleValidation.d.ts +10 -0
  43. package/package.json +8 -81
  44. package/request.d.ts +31 -0
  45. package/routes.d.ts +11 -0
  46. package/stats.d.ts +20 -0
  47. package/suppressions.d.ts +50 -0
  48. package/validate.d.ts +9 -0
  49. package/version.md +1 -0
  50. package/webhooks.d.ts +32 -0
  51. package/.editorconfig +0 -10
  52. package/.eslintrc +0 -56
  53. package/.husky/commit-msg +0 -4
  54. package/.travis.yml +0 -5
  55. package/LICENSE +0 -191
  56. package/commitlint.config.js +0 -7
  57. package/dist/mailgun.js.d.ts +0 -1586
  58. package/dist/mailgun.node.js +0 -3
  59. package/dist/mailgun.web.js +0 -3
  60. package/docs/.nojekyll +0 -1
  61. package/docs/assets/highlight.css +0 -127
  62. package/docs/assets/icons.css +0 -1043
  63. package/docs/assets/icons.png +0 -0
  64. package/docs/assets/icons@2x.png +0 -0
  65. package/docs/assets/main.js +0 -52
  66. package/docs/assets/search.js +0 -1
  67. package/docs/assets/style.css +0 -1413
  68. package/docs/assets/widgets.png +0 -0
  69. package/docs/assets/widgets@2x.png +0 -0
  70. package/docs/classes/client.default.html +0 -1
  71. package/docs/classes/domains.Domain.html +0 -1
  72. package/docs/classes/domains.default.html +0 -1
  73. package/docs/classes/domainsCredentials.default.html +0 -1
  74. package/docs/classes/domainsTemplates.DomainTemplateItem.html +0 -1
  75. package/docs/classes/domainsTemplates.default.html +0 -1
  76. package/docs/classes/error.default.html +0 -6
  77. package/docs/classes/events.default.html +0 -1
  78. package/docs/classes/ip_pools.default.html +0 -1
  79. package/docs/classes/ips.default.html +0 -1
  80. package/docs/classes/lists.default.html +0 -1
  81. package/docs/classes/mailListMembers.default.html +0 -1
  82. package/docs/classes/messages.default.html +0 -1
  83. package/docs/classes/multipleValidation.default.html +0 -1
  84. package/docs/classes/request.default.html +0 -1
  85. package/docs/classes/routes.default.html +0 -1
  86. package/docs/classes/stats.default.html +0 -1
  87. package/docs/classes/suppressions.default.html +0 -1
  88. package/docs/classes/validate.default.html +0 -1
  89. package/docs/classes/webhooks.default.html +0 -1
  90. package/docs/enums/interfaces_DomainTemplates.Pages.html +0 -1
  91. package/docs/enums/interfaces_DomainTemplates.YesNo.html +0 -1
  92. package/docs/index.html +0 -1140
  93. package/docs/interfaces/interfaces_APIErrorOptions.default.html +0 -1
  94. package/docs/interfaces/interfaces_ApiResponse.default.html +0 -1
  95. package/docs/interfaces/interfaces_DomainCredentials.CreatedUpdatedDomainCredentialsResponse.html +0 -1
  96. package/docs/interfaces/interfaces_DomainCredentials.DeletedDomainCredentialsResponse.html +0 -1
  97. package/docs/interfaces/interfaces_DomainCredentials.DomainCredentials.html +0 -1
  98. package/docs/interfaces/interfaces_DomainCredentials.DomainCredentialsItem.html +0 -1
  99. package/docs/interfaces/interfaces_DomainCredentials.DomainCredentialsList.html +0 -1
  100. package/docs/interfaces/interfaces_DomainCredentials.DomainCredentialsQuery.html +0 -1
  101. package/docs/interfaces/interfaces_DomainCredentials.DomainCredentialsResponseData.html +0 -1
  102. package/docs/interfaces/interfaces_DomainCredentials.DomainCredentialsResult.html +0 -1
  103. package/docs/interfaces/interfaces_DomainCredentials.IDomainCredentials.html +0 -1
  104. package/docs/interfaces/interfaces_DomainCredentials.UpdateDomainCredentialsData.html +0 -1
  105. package/docs/interfaces/interfaces_DomainTemplates.CreateDomainTemplateAPIResponse.html +0 -1
  106. package/docs/interfaces/interfaces_DomainTemplates.CreateDomainTemplateVersionAPIResponse.html +0 -1
  107. package/docs/interfaces/interfaces_DomainTemplates.CreateDomainTemplateVersionResult.html +0 -1
  108. package/docs/interfaces/interfaces_DomainTemplates.DomainTemplate.html +0 -1
  109. package/docs/interfaces/interfaces_DomainTemplates.DomainTemplateData.html +0 -1
  110. package/docs/interfaces/interfaces_DomainTemplates.DomainTemplateUpdateData.html +0 -1
  111. package/docs/interfaces/interfaces_DomainTemplates.DomainTemplateUpdateVersionData.html +0 -1
  112. package/docs/interfaces/interfaces_DomainTemplates.DomainTemplateVersionData.html +0 -1
  113. package/docs/interfaces/interfaces_DomainTemplates.DomainTemplatesQuery.html +0 -1
  114. package/docs/interfaces/interfaces_DomainTemplates.GetDomainTemplateAPIResponse.html +0 -1
  115. package/docs/interfaces/interfaces_DomainTemplates.IDomainTemplatesClient.html +0 -1
  116. package/docs/interfaces/interfaces_DomainTemplates.ListDomainTemplateVersionsAPIResponse.html +0 -1
  117. package/docs/interfaces/interfaces_DomainTemplates.ListDomainTemplateVersionsResult.html +0 -1
  118. package/docs/interfaces/interfaces_DomainTemplates.ListDomainTemplatesAPIResponse.html +0 -1
  119. package/docs/interfaces/interfaces_DomainTemplates.ListDomainTemplatesResult.html +0 -1
  120. package/docs/interfaces/interfaces_DomainTemplates.MutateDomainTemplateVersionAPIResponse.html +0 -1
  121. package/docs/interfaces/interfaces_DomainTemplates.MutateDomainTemplateVersionResult.html +0 -1
  122. package/docs/interfaces/interfaces_DomainTemplates.NotificationAPIResponse.html +0 -1
  123. package/docs/interfaces/interfaces_DomainTemplates.NotificationResult.html +0 -1
  124. package/docs/interfaces/interfaces_DomainTemplates.ShortTemplateVersion.html +0 -1
  125. package/docs/interfaces/interfaces_DomainTemplates.TemplateQuery.html +0 -1
  126. package/docs/interfaces/interfaces_DomainTemplates.TemplateVersion.html +0 -1
  127. package/docs/interfaces/interfaces_DomainTemplates.UpdateOrDeleteDomainTemplateAPIResponse.html +0 -1
  128. package/docs/interfaces/interfaces_DomainTemplates.UpdateOrDeleteDomainTemplateResult.html +0 -1
  129. package/docs/interfaces/interfaces_DomainTracking.ClickTrackingInfo.html +0 -1
  130. package/docs/interfaces/interfaces_DomainTracking.DomainTrackingData.html +0 -1
  131. package/docs/interfaces/interfaces_DomainTracking.DomainTrackingResponse.html +0 -1
  132. package/docs/interfaces/interfaces_DomainTracking.OpenTrackingInfo.html +0 -1
  133. package/docs/interfaces/interfaces_DomainTracking.UnsubscribeTrackingInfo.html +0 -1
  134. package/docs/interfaces/interfaces_DomainTracking.UpdateDomainTrackingResponse.html +0 -1
  135. package/docs/interfaces/interfaces_DomainTracking.UpdatedOpenTracking.html +0 -1
  136. package/docs/interfaces/interfaces_Domains.ConnectionSettings.html +0 -1
  137. package/docs/interfaces/interfaces_Domains.ConnectionSettingsResponse.html +0 -1
  138. package/docs/interfaces/interfaces_Domains.DKIMAuthorityInfo.html +0 -1
  139. package/docs/interfaces/interfaces_Domains.DKIMSelectorInfo.html +0 -1
  140. package/docs/interfaces/interfaces_Domains.DNSRecord.html +0 -1
  141. package/docs/interfaces/interfaces_Domains.DestroyedDomainResponse.html +0 -1
  142. package/docs/interfaces/interfaces_Domains.DomainData.html +0 -1
  143. package/docs/interfaces/interfaces_Domains.DomainInfo.html +0 -1
  144. package/docs/interfaces/interfaces_Domains.DomainListResponseData.html +0 -1
  145. package/docs/interfaces/interfaces_Domains.DomainResponseData.html +0 -1
  146. package/docs/interfaces/interfaces_Domains.DomainShortData.html +0 -1
  147. package/docs/interfaces/interfaces_Domains.DomainsListItem.html +0 -1
  148. package/docs/interfaces/interfaces_Domains.DomainsQuery.html +0 -1
  149. package/docs/interfaces/interfaces_Domains.MessageResponse.html +0 -1
  150. package/docs/interfaces/interfaces_Domains.ReplacementForPool.html +0 -1
  151. package/docs/interfaces/interfaces_Domains.UpdatedConnectionSettings.html +0 -1
  152. package/docs/interfaces/interfaces_Domains.UpdatedConnectionSettingsRes.html +0 -1
  153. package/docs/interfaces/interfaces_Domains.UpdatedDKIMAuthority.html +0 -1
  154. package/docs/interfaces/interfaces_Domains.UpdatedDKIMAuthorityResponse.html +0 -1
  155. package/docs/interfaces/interfaces_Domains.UpdatedDKIMSelectorResponse.html +0 -1
  156. package/docs/interfaces/interfaces_Domains.UpdatedWebPrefix.html +0 -1
  157. package/docs/interfaces/interfaces_Domains.UpdatedWebPrefixResponse.html +0 -1
  158. package/docs/interfaces/interfaces_Domains.WebPrefixInfo.html +0 -1
  159. package/docs/interfaces/interfaces_Events.DomainEvent.html +0 -1
  160. package/docs/interfaces/interfaces_Events.EventsList.html +0 -1
  161. package/docs/interfaces/interfaces_Events.EventsPage.html +0 -1
  162. package/docs/interfaces/interfaces_Events.EventsResponse.html +0 -1
  163. package/docs/interfaces/interfaces_Events.PagesList.html +0 -1
  164. package/docs/interfaces/interfaces_Events.PagesListAccumulator.html +0 -1
  165. package/docs/interfaces/interfaces_Events.ParsedPage.html +0 -1
  166. package/docs/interfaces/interfaces_Events.ParsedPagesList.html +0 -1
  167. package/docs/interfaces/interfaces_IFormData.IFormDataOptions.html +0 -1
  168. package/docs/interfaces/interfaces_IFormData.InputFormData.html +0 -1
  169. package/docs/interfaces/interfaces_IpPools.IpPool.html +0 -1
  170. package/docs/interfaces/interfaces_IpPools.IpPoolListResponse.html +0 -1
  171. package/docs/interfaces/interfaces_IpPools.IpPoolUpdateData.html +0 -1
  172. package/docs/interfaces/interfaces_Ips.IpData.html +0 -1
  173. package/docs/interfaces/interfaces_Ips.IpsListResponseBody.html +0 -1
  174. package/docs/interfaces/interfaces_MultipleValidation.CanceledMultipleValidationJob.html +0 -1
  175. package/docs/interfaces/interfaces_MultipleValidation.CreatedMultipleValidationJob.html +0 -1
  176. package/docs/interfaces/interfaces_MultipleValidation.IMultipleValidationClient.html +0 -1
  177. package/docs/interfaces/interfaces_MultipleValidation.MultipleValidationJob.html +0 -1
  178. package/docs/interfaces/interfaces_MultipleValidation.MultipleValidationJobsListResponse.html +0 -1
  179. package/docs/interfaces/interfaces_MultipleValidation.MultipleValidationJobsListResult.html +0 -1
  180. package/docs/interfaces/interfaces_MultipleValidation.PagesList.html +0 -1
  181. package/docs/interfaces/interfaces_Options.default.html +0 -1
  182. package/docs/interfaces/interfaces_RequestOptions.default.html +0 -1
  183. package/docs/interfaces/interfaces_StatsOptions.Stat.html +0 -1
  184. package/docs/interfaces/interfaces_StatsOptions.StatsOptions.html +0 -1
  185. package/docs/interfaces/interfaces_StatsOptions.StatsQuery.html +0 -1
  186. package/docs/interfaces/interfaces_Supressions.BounceData.html +0 -1
  187. package/docs/interfaces/interfaces_Supressions.ComplaintData.html +0 -1
  188. package/docs/interfaces/interfaces_Supressions.UnsubscribeData.html +0 -1
  189. package/docs/interfaces/interfaces_Supressions.WhiteListData.html +0 -1
  190. package/docs/interfaces/interfaces_Validate.ValidationResponse.html +0 -1
  191. package/docs/interfaces/interfaces_Validate.ValidationResult.html +0 -1
  192. package/docs/interfaces/interfaces_Webhooks.APIWebhook.html +0 -1
  193. package/docs/interfaces/interfaces_Webhooks.ValidationResponse.html +0 -1
  194. package/docs/interfaces/interfaces_Webhooks.WebhookList.html +0 -1
  195. package/docs/interfaces/interfaces_Webhooks.WebhookResponse.html +0 -1
  196. package/docs/interfaces/interfaces_Webhooks.WebhookResponseBody.html +0 -1
  197. package/docs/interfaces/interfaces_Webhooks.WebhooksQuery.html +0 -1
  198. package/docs/interfaces/interfaces_lists.CreateUpdateList.html +0 -1
  199. package/docs/interfaces/interfaces_lists.DestroyedList.html +0 -1
  200. package/docs/interfaces/interfaces_lists.ListsQuery.html +0 -1
  201. package/docs/interfaces/interfaces_lists.MailingList.html +0 -1
  202. package/docs/interfaces/interfaces_mailListMembers.CreateUpdateMailListMembers.html +0 -1
  203. package/docs/interfaces/interfaces_mailListMembers.CreateUpdateMailListMembersReq.html +0 -1
  204. package/docs/interfaces/interfaces_mailListMembers.DeletedMember.html +0 -1
  205. package/docs/interfaces/interfaces_mailListMembers.IMailListsMembers.html +0 -1
  206. package/docs/interfaces/interfaces_mailListMembers.MailListMember.html +0 -1
  207. package/docs/interfaces/interfaces_mailListMembers.MailListMembersQuery.html +0 -1
  208. package/docs/interfaces/interfaces_mailListMembers.MultipleMembersData.html +0 -1
  209. package/docs/interfaces/interfaces_mailListMembers.MultipleMembersReqData.html +0 -1
  210. package/docs/interfaces/interfaces_mailListMembers.NewMultipleMembersResponse.html +0 -1
  211. package/docs/interfaces/interfaces_routes.CreateUpdateRouteData.html +0 -1
  212. package/docs/interfaces/interfaces_routes.DestroyRouteResponse.html +0 -1
  213. package/docs/interfaces/interfaces_routes.Route.html +0 -1
  214. package/docs/interfaces/interfaces_routes.RoutesListQuery.html +0 -1
  215. package/docs/interfaces/interfaces_routes.UpdateRouteResponse.html +0 -1
  216. package/docs/modules/client.html +0 -1
  217. package/docs/modules/domains.html +0 -1
  218. package/docs/modules/domainsCredentials.html +0 -1
  219. package/docs/modules/domainsTemplates.html +0 -1
  220. package/docs/modules/error.html +0 -1
  221. package/docs/modules/events.html +0 -1
  222. package/docs/modules/interfaces_APIErrorOptions.html +0 -1
  223. package/docs/modules/interfaces_ApiResponse.html +0 -1
  224. package/docs/modules/interfaces_DomainCredentials.html +0 -1
  225. package/docs/modules/interfaces_DomainTemplates.html +0 -1
  226. package/docs/modules/interfaces_DomainTracking.html +0 -1
  227. package/docs/modules/interfaces_Domains.html +0 -1
  228. package/docs/modules/interfaces_Events.html +0 -1
  229. package/docs/modules/interfaces_IFormData.html +0 -1
  230. package/docs/modules/interfaces_IpPools.html +0 -1
  231. package/docs/modules/interfaces_Ips.html +0 -1
  232. package/docs/modules/interfaces_MultipleValidation.html +0 -1
  233. package/docs/modules/interfaces_Options.html +0 -1
  234. package/docs/modules/interfaces_RequestOptions.html +0 -1
  235. package/docs/modules/interfaces_StatsOptions.html +0 -1
  236. package/docs/modules/interfaces_Supressions.html +0 -1
  237. package/docs/modules/interfaces_Validate.html +0 -1
  238. package/docs/modules/interfaces_Webhooks.html +0 -1
  239. package/docs/modules/interfaces_lists.html +0 -1
  240. package/docs/modules/interfaces_mailListMembers.html +0 -1
  241. package/docs/modules/interfaces_routes.html +0 -1
  242. package/docs/modules/ip_pools.html +0 -1
  243. package/docs/modules/ips.html +0 -1
  244. package/docs/modules/lists.html +0 -1
  245. package/docs/modules/mailListMembers.html +0 -1
  246. package/docs/modules/messages.html +0 -1
  247. package/docs/modules/multipleValidation.html +0 -1
  248. package/docs/modules/request.html +0 -1
  249. package/docs/modules/routes.html +0 -1
  250. package/docs/modules/stats.html +0 -1
  251. package/docs/modules/suppressions.html +0 -1
  252. package/docs/modules/validate.html +0 -1
  253. package/docs/modules/webhooks.html +0 -1
  254. package/docs/modules.html +0 -1
  255. package/dts-bundle.js +0 -8
  256. package/examples/addresses.js +0 -20
  257. package/examples/index.html +0 -285
  258. package/examples/list-domains.js +0 -8
  259. package/examples/mailgun.png +0 -0
  260. package/examples/rackspace.png +0 -0
  261. package/examples/send-email.js +0 -24
  262. package/lib/client.ts +0 -79
  263. package/lib/domains.ts +0 -224
  264. package/lib/domainsCredentials.ts +0 -88
  265. package/lib/domainsTags.ts +0 -165
  266. package/lib/domainsTemplates.ts +0 -235
  267. package/lib/error.ts +0 -22
  268. package/lib/events.ts +0 -54
  269. package/lib/index.ts +0 -16
  270. package/lib/interfaces/APIErrorOptions.ts +0 -10
  271. package/lib/interfaces/IpPools.ts +0 -22
  272. package/lib/interfaces/Ips.ts +0 -12
  273. package/lib/interfaces/Options.ts +0 -10
  274. package/lib/interfaces/StatsOptions.ts +0 -25
  275. package/lib/interfaces/Supressions.ts +0 -123
  276. package/lib/ip-pools.ts +0 -36
  277. package/lib/ips.ts +0 -24
  278. package/lib/lists.ts +0 -45
  279. package/lib/mailListMembers.ts +0 -83
  280. package/lib/messages.ts +0 -27
  281. package/lib/multipleValidation.ts +0 -37
  282. package/lib/request.ts +0 -271
  283. package/lib/routes.ts +0 -37
  284. package/lib/stats.ts +0 -62
  285. package/lib/suppressions.ts +0 -253
  286. package/lib/validate.ts +0 -20
  287. package/lib/webhooks.ts +0 -83
  288. package/test/client.test.ts +0 -96
  289. package/test/data/emailsValidation1.csv +0 -3
  290. package/test/domains.test.ts +0 -313
  291. package/test/domainsCredentials.test.ts +0 -97
  292. package/test/domainsTags.test.ts +0 -345
  293. package/test/domainsTemplates.test.ts +0 -392
  294. package/test/error.test.ts +0 -32
  295. package/test/events.test.ts +0 -104
  296. package/test/img/mailgun.png +0 -0
  297. package/test/ips.test.ts +0 -57
  298. package/test/lists.test.ts +0 -100
  299. package/test/mailListMembers.test.ts +0 -198
  300. package/test/messageAttachment.test.ts +0 -50
  301. package/test/messages.test.ts +0 -89
  302. package/test/multipleValidation.test.ts +0 -159
  303. package/test/request.test.ts +0 -103
  304. package/test/routes.test.ts +0 -136
  305. package/test/stats.test.ts +0 -90
  306. package/test/suppressions.test.ts +0 -303
  307. package/test/validate.test.ts +0 -43
  308. package/test/webhooks.test.ts +0 -112
  309. package/tsconfig.json +0 -22
  310. package/tsconfig.webpack.json +0 -10
  311. package/webpack/webpack.common.config.js +0 -46
  312. package/webpack/webpack.dev.config.js +0 -36
  313. package/webpack/webpack.release.config.js +0 -45
@@ -1,313 +0,0 @@
1
- import formData from 'form-data';
2
-
3
- import nock from 'nock';
4
- import { expect } from 'chai';
5
- import Request from '../lib/request';
6
- import DomainClient, { Domain } from '../lib/domains';
7
- import RequestOptions from '../lib/interfaces/RequestOptions';
8
- import { InputFormData } from '../lib/interfaces/IFormData';
9
- import DomainCredentialsClient from '../lib/domainsCredentials';
10
- import {
11
- ConnectionSettings,
12
- MessageResponse,
13
- UpdatedConnectionSettings,
14
- UpdatedDKIMAuthority,
15
- UpdatedDKIMSelectorResponse, UpdatedWebPrefixResponse
16
- } from '../lib/interfaces/Domains';
17
- import DomainTemplatesClient from '../lib/domainsTemplates';
18
- import DomainTagsClient from '../lib/domainsTags';
19
-
20
- // TODO: fix types
21
- describe('DomainClient', function () {
22
- let client: DomainClient;
23
- let api: nock.Scope;
24
-
25
- beforeEach(function () {
26
- const reqObject = new Request({ url: 'https://api.mailgun.net' } as RequestOptions, formData as InputFormData);
27
- const domainCredentialsClient = new DomainCredentialsClient(reqObject);
28
- const domainTemplatesClient = new DomainTemplatesClient(reqObject);
29
- const domainTagsClient = new DomainTagsClient(reqObject);
30
- client = new DomainClient(
31
- reqObject,
32
- domainCredentialsClient,
33
- domainTemplatesClient,
34
- domainTagsClient
35
- );
36
- api = nock('https://api.mailgun.net');
37
- });
38
-
39
- afterEach(function () {
40
- api.done();
41
- });
42
-
43
- describe('list', function () {
44
- it('fetches all domains', function () {
45
- const domains = [{
46
- created_at: 'Sun, 19 Oct 2014 18:49:36 GMT',
47
- name: 'testing.example.com',
48
- smtp_login: 'postmaster@testing.example.com',
49
- smtp_password: 'password',
50
- spam_action: 'disabled',
51
- state: 'unverified',
52
- type: 'custom',
53
- wildcard: true,
54
- skip_verification: true,
55
- require_tls: true
56
- }];
57
-
58
- api.get('/v3/domains').reply(200, {
59
- items: domains
60
- });
61
-
62
- return client.list().then(function (dm: Domain[]) {
63
- dm[0].should.eql({
64
- created_at: 'Sun, 19 Oct 2014 18:49:36 GMT',
65
- name: 'testing.example.com',
66
- receiving_dns_records: null,
67
- require_tls: true,
68
- sending_dns_records: null,
69
- skip_verification: true,
70
- smtp_login: 'postmaster@testing.example.com',
71
- smtp_password: 'password',
72
- spam_action: 'disabled',
73
- state: 'unverified',
74
- type: 'custom',
75
- wildcard: true
76
- });
77
- });
78
- });
79
- });
80
-
81
- describe('get', function () {
82
- it('gets a specific domain and populates dns records', function () {
83
- const domainData = {
84
- created_at: 'Sun, 19 Oct 2014 18:49:36 GMT',
85
- name: 'testing.example.com',
86
- smtp_login: 'postmaster@testing.example.com',
87
- smtp_password: 'password',
88
- spam_action: 'disabled',
89
- state: 'unverified',
90
- type: 'custom',
91
- wildcard: true,
92
- skip_verification: true,
93
- require_tls: true
94
- };
95
-
96
- api.get('/v3/domains/testing.example.com').reply(200, {
97
- domain: domainData,
98
- receiving_dns_records: [],
99
- sending_dns_records: []
100
- });
101
-
102
- return client.get('testing.example.com').then(function (domain: Domain) {
103
- domain.should.eql({
104
- created_at: 'Sun, 19 Oct 2014 18:49:36 GMT',
105
- name: 'testing.example.com',
106
- receiving_dns_records: [],
107
- require_tls: true,
108
- sending_dns_records: [],
109
- skip_verification: true,
110
- smtp_login: 'postmaster@testing.example.com',
111
- smtp_password: 'password',
112
- spam_action: 'disabled',
113
- state: 'unverified',
114
- type: 'custom',
115
- wildcard: true
116
- });
117
- });
118
- });
119
- });
120
-
121
- describe('create', function () {
122
- it('creates a domain', function () {
123
- const domainData = {
124
- created_at: 'Sun, 19 Oct 2014 18:49:36 GMT',
125
- name: 'another.example.com',
126
- smtp_login: 'postmaster@another.example.com',
127
- smtp_password: 'password',
128
- spam_action: 'disabled',
129
- state: 'unverified',
130
- type: 'custom',
131
- wildcard: true,
132
- skip_verification: true,
133
- require_tls: true
134
- };
135
-
136
- api.post('/v3/domains').reply(200, {
137
- domain: domainData,
138
- receiving_dns_records: [],
139
- sending_dns_records: []
140
- });
141
-
142
- return client.create({
143
- name: 'another.example.com',
144
- smtp_password: 'smtp_password',
145
- web_scheme: 'https'
146
- }).then(function (domain: Domain) {
147
- domain.should.eql({
148
- created_at: 'Sun, 19 Oct 2014 18:49:36 GMT',
149
- name: 'another.example.com',
150
- receiving_dns_records: [],
151
- require_tls: true,
152
- sending_dns_records: [],
153
- skip_verification: true,
154
- smtp_login: 'postmaster@another.example.com',
155
- smtp_password: 'password',
156
- spam_action: 'disabled',
157
- state: 'unverified',
158
- type: 'custom',
159
- wildcard: true
160
- });
161
- });
162
- });
163
- });
164
-
165
- describe('destroy', function () {
166
- it('deletes a domain', function () {
167
- api.delete('/v3/domains/test.example.com').reply(200, {
168
- message: 'domain deleted'
169
- });
170
-
171
- return client.destroy('test.example.com').then(function (data: MessageResponse) {
172
- data.should.eql({
173
- message: 'domain deleted'
174
- });
175
- });
176
- });
177
- });
178
-
179
- describe('getConnection', function () {
180
- it('returns connection settings for the defined domain', function () {
181
- api.get('/v3/domains/test.example.com/connection').reply(200, {
182
- connection: { require_tls: false, skip_verification: false }
183
- });
184
-
185
- return client.getConnection('test.example.com').then(function (data: ConnectionSettings) {
186
- data.should.eql({ require_tls: false, skip_verification: false });
187
- });
188
- });
189
- });
190
-
191
- describe('updateConnection', function () {
192
- it('Updates the connection settings for the defined domain.', function () {
193
- api.put('/v3/domains/test.example.com/connection').reply(200, {
194
- connection: {
195
- message: 'Domain connection settings have been updated, may take 10 minutes to fully propagate',
196
- require_tls: false,
197
- skip_verification: false
198
- }
199
- });
200
-
201
- return client.updateConnection('test.example.com', {
202
- require_tls: true,
203
- skip_verification: true
204
- }).then(function (data: UpdatedConnectionSettings) {
205
- data.should.eql({
206
- connection: {
207
- message: 'Domain connection settings have been updated, may take 10 minutes to fully propagate',
208
- require_tls: false,
209
- skip_verification: false
210
- }
211
- });
212
- });
213
- });
214
- });
215
-
216
- describe('getTracking', function () {
217
- it('fetches all tracking settings', function () {
218
- api.get('/v3/domains/domain.com/tracking').reply(200, {
219
- tracking: {
220
- open: { active: true },
221
- click: { active: true },
222
- unsubscribe: { active: true, html_footer: 'html', text_footer: 'text' }
223
- }
224
- });
225
-
226
- return client.getTracking('domain.com').then(function (tracking: { open: { active: boolean } }) {
227
- tracking.open.should.eql({ active: true });
228
- });
229
- });
230
- });
231
-
232
- describe('updateTracking', function () {
233
- it('updates tracking settings', async function () {
234
- const open = { active: true };
235
- api.put('/v3/domains/domain.com/tracking/open').reply(200, {
236
- message: 'Tracking settings have been updated',
237
- open
238
- });
239
-
240
- const res = await client.updateTracking('domain.com', 'open', { active: 'yes' });
241
-
242
- expect(res).to.eql({
243
- message: 'Tracking settings have been updated',
244
- open: {
245
- active: true
246
- }
247
- });
248
- });
249
- });
250
-
251
- describe('getIps', () => {
252
- it('should return list of dedicated ips', () => {
253
- const items = ['192.161.0.1', '192.168.0.2'];
254
- api.get('/v3/domains/domain.com/ips').reply(200, { items });
255
-
256
- return client.getIps('domain.com').then((response: string[]) => {
257
- response.should.eql(items);
258
- });
259
- });
260
- });
261
-
262
- describe('updateDKIMAuthority', () => {
263
- it('changes the DKIM authority for a domain.', () => {
264
- const expectedRes = {
265
- changed: true,
266
- message: 'Domain DKIM authority has been changed',
267
- sending_dns_records: [
268
- {
269
- cached: ['a'],
270
- name: 'test.example.com',
271
- record_type: 'record_type',
272
- valid: 'valid',
273
- value: 'value'
274
- }
275
- ]
276
- };
277
-
278
- api.put('/v3/domains/test.example.com/dkim_authority?self=true').reply(200, expectedRes);
279
-
280
- return client.updateDKIMAuthority('test.example.com', { self: 'true' }).then((response: UpdatedDKIMAuthority) => {
281
- response.should.eql(expectedRes);
282
- });
283
- });
284
- });
285
-
286
- describe('updateDKIMSelector', () => {
287
- it('updates the DKIM selector for a domains', () => {
288
- api.put('/v3/domains/test.example.com/dkim_selector?dkim_selector=dkim_selector_value').reply(200, { message: 'Domain DKIM selector updated' });
289
-
290
- return client.updateDKIMSelector('test.example.com', { dkimSelector: 'dkim_selector_value' }).then((response: UpdatedDKIMSelectorResponse) => {
291
- response.should.eql(
292
- {
293
- body: { message: 'Domain DKIM selector updated' }, status: 200
294
- }
295
- );
296
- });
297
- });
298
- });
299
-
300
- describe('updateWebPrefix', () => {
301
- it('Update the CNAME used for tracking opens and clicks', () => {
302
- api.put('/v3/domains/test.example.com/web_prefix?web_prefix=webprefixvalue').reply(200, { message: 'Domain web prefix updated' });
303
-
304
- return client.updateWebPrefix('test.example.com', { webPrefix: 'webprefixvalue' }).then((response: UpdatedWebPrefixResponse) => {
305
- response.should.eql(
306
- {
307
- body: { message: 'Domain web prefix updated' }, status: 200
308
- }
309
- );
310
- });
311
- });
312
- });
313
- });
@@ -1,97 +0,0 @@
1
- import formData from 'form-data';
2
-
3
- import nock from 'nock';
4
- import Request from '../lib/request';
5
- import RequestOptions from '../lib/interfaces/RequestOptions';
6
- import { InputFormData } from '../lib/interfaces/IFormData';
7
- import DomainCredentialsClient from '../lib/domainsCredentials';
8
- import { DomainCredentialsList, DomainCredentialsResult } from '../lib/interfaces/DomainCredentials';
9
-
10
- // TODO: fix types
11
- describe('DomainsCredentialsClient', function () {
12
- let client: DomainCredentialsClient;
13
- let api: nock.Scope;
14
-
15
- beforeEach(function () {
16
- const reqObject = new Request({ url: 'https://api.mailgun.net' } as RequestOptions, formData as InputFormData);
17
- client = new DomainCredentialsClient(reqObject);
18
- api = nock('https://api.mailgun.net');
19
- });
20
-
21
- afterEach(function () {
22
- api.done();
23
- });
24
-
25
- describe('list', function () {
26
- it('fetches all domain credentials', function () {
27
- api.get('/v3/domains/testDomain/credentials').reply(200, {
28
- items: [{
29
- created_at: 'Mon, 11 Oct 2021 17:30:06 -0000',
30
- login: 'testLogin@testing.example.com',
31
- mailbox: 'test@testing.example.com',
32
- size_bytes: null
33
- }],
34
- total_count: 1
35
- });
36
-
37
- return client.list('testDomain').then(function (credentialsList: DomainCredentialsList) {
38
- credentialsList.should.be.an('object').to.have.property('items');
39
- credentialsList.items.should.be.an('array').to.have.property('length').to.be.equal(1);
40
- credentialsList.items[0].should.eql({
41
- created_at: 'Mon, 11 Oct 2021 17:30:06 -0000',
42
- login: 'testLogin@testing.example.com',
43
- mailbox: 'test@testing.example.com',
44
- size_bytes: null
45
- });
46
- });
47
- });
48
- });
49
-
50
- describe('create', function () {
51
- it('creates domain credentials', function () {
52
- const domainCredentialsData = {
53
- login: 'testLogin',
54
- password: 'testPassword'
55
- };
56
-
57
- api.post('/v3/domains/testDomain/credentials').reply(200, {
58
- message: 'Created 1 credentials pair(s)'
59
- });
60
-
61
- return client.create('testDomain', domainCredentialsData).then(function (res: DomainCredentialsResult) {
62
- res.should.eql({ message: 'Created 1 credentials pair(s)', status: 200 });
63
- });
64
- });
65
- });
66
-
67
- describe('update', function () {
68
- it('updates domain credentials', function () {
69
- api.put('/v3/domains/testDomain/credentials/testLogin').reply(200, {
70
- message: 'Password changed'
71
- });
72
-
73
- return client.update('testDomain', 'testLogin', {
74
- password: 'testPassword1'
75
- }).then(function (res: DomainCredentialsResult) {
76
- res.should.eql({ message: 'Password changed', status: 200 });
77
- });
78
- });
79
- });
80
-
81
- describe('destroy', function () {
82
- it('deletes a domain credentials', function () {
83
- api.delete('/v3/domains/testDomain/credentials/testLogin').reply(200, {
84
- message: 'domain deleted',
85
- spec: 'testDomain'
86
- });
87
-
88
- return client.destroy('testDomain', 'testLogin').then(function (data: DomainCredentialsResult) {
89
- data.should.eql({
90
- message: 'domain deleted',
91
- spec: 'testDomain',
92
- status: 200
93
- });
94
- });
95
- });
96
- });
97
- });