@azure/communication-email 1.0.1-beta.1 → 1.1.0-alpha.20251021.1

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 (258) hide show
  1. package/{LICENSE.txt → LICENSE} +4 -4
  2. package/README.md +96 -15
  3. package/dist/browser/emailClient.d.ts +31 -0
  4. package/dist/browser/emailClient.d.ts.map +1 -0
  5. package/{dist-esm/src → dist/browser}/emailClient.js +10 -6
  6. package/dist/browser/emailClient.js.map +1 -0
  7. package/dist/browser/generated/src/emailRestApiClient.d.ts +17 -0
  8. package/dist/browser/generated/src/emailRestApiClient.d.ts.map +1 -0
  9. package/{dist-esm/src → dist/browser}/generated/src/emailRestApiClient.js +16 -9
  10. package/dist/browser/generated/src/emailRestApiClient.js.map +1 -0
  11. package/dist/browser/generated/src/index.d.ts +4 -0
  12. package/dist/browser/generated/src/index.d.ts.map +1 -0
  13. package/dist/browser/generated/src/index.js +11 -0
  14. package/dist/browser/generated/src/index.js.map +1 -0
  15. package/dist/browser/generated/src/lroImpl.d.ts +11 -0
  16. package/dist/browser/generated/src/lroImpl.d.ts.map +1 -0
  17. package/dist/browser/generated/src/lroImpl.js +25 -0
  18. package/dist/browser/generated/src/lroImpl.js.map +1 -0
  19. package/{types/communication-email.d.ts → dist/browser/generated/src/models/index.d.ts} +184 -215
  20. package/dist/browser/generated/src/models/index.d.ts.map +1 -0
  21. package/{dist-esm/src → dist/browser}/generated/src/models/index.js.map +1 -1
  22. package/dist/browser/generated/src/models/mappers.d.ts +15 -0
  23. package/dist/browser/generated/src/models/mappers.d.ts.map +1 -0
  24. package/{dist-esm/src → dist/browser}/generated/src/models/mappers.js +123 -123
  25. package/dist/browser/generated/src/models/mappers.js.map +1 -0
  26. package/dist/browser/generated/src/models/parameters.d.ts +10 -0
  27. package/dist/browser/generated/src/models/parameters.d.ts.map +1 -0
  28. package/{dist-esm/src → dist/browser}/generated/src/models/parameters.js +24 -24
  29. package/dist/browser/generated/src/models/parameters.js.map +1 -0
  30. package/dist/browser/generated/src/operations/email.d.ts +33 -0
  31. package/dist/browser/generated/src/operations/email.d.ts.map +1 -0
  32. package/{dist-esm/src → dist/browser}/generated/src/operations/email.js +38 -28
  33. package/dist/browser/generated/src/operations/email.js.map +1 -0
  34. package/dist/browser/generated/src/operations/index.d.ts +2 -0
  35. package/dist/browser/generated/src/operations/index.d.ts.map +1 -0
  36. package/{dist-esm/src/generated/src → dist/browser/generated/src/operations}/index.js +1 -3
  37. package/{dist-esm/src → dist/browser}/generated/src/operations/index.js.map +1 -1
  38. package/dist/browser/generated/src/operationsInterfaces/email.d.ts +25 -0
  39. package/dist/browser/generated/src/operationsInterfaces/email.d.ts.map +1 -0
  40. package/dist/browser/generated/src/operationsInterfaces/email.js.map +1 -0
  41. package/dist/browser/generated/src/operationsInterfaces/index.d.ts +2 -0
  42. package/dist/browser/generated/src/operationsInterfaces/index.d.ts.map +1 -0
  43. package/dist/browser/generated/src/operationsInterfaces/index.js +9 -0
  44. package/{dist-esm/src → dist/browser}/generated/src/operationsInterfaces/index.js.map +1 -1
  45. package/dist/browser/index.d.ts +3 -0
  46. package/dist/browser/index.d.ts.map +1 -0
  47. package/dist/browser/index.js +5 -0
  48. package/dist/browser/index.js.map +1 -0
  49. package/dist/browser/logger.d.ts +5 -0
  50. package/dist/browser/logger.d.ts.map +1 -0
  51. package/dist/browser/models.d.ts +57 -0
  52. package/dist/browser/models.d.ts.map +1 -0
  53. package/dist/browser/models.js +4 -0
  54. package/dist/browser/models.js.map +1 -0
  55. package/dist/browser/package.json +3 -0
  56. package/dist/commonjs/emailClient.d.ts +31 -0
  57. package/dist/commonjs/emailClient.d.ts.map +1 -0
  58. package/dist/commonjs/emailClient.js +46 -0
  59. package/{dist-esm/src → dist/commonjs}/emailClient.js.map +1 -1
  60. package/dist/commonjs/generated/src/emailRestApiClient.d.ts +17 -0
  61. package/dist/commonjs/generated/src/emailRestApiClient.d.ts.map +1 -0
  62. package/dist/commonjs/generated/src/emailRestApiClient.js +81 -0
  63. package/dist/commonjs/generated/src/emailRestApiClient.js.map +1 -0
  64. package/dist/commonjs/generated/src/index.d.ts +4 -0
  65. package/dist/commonjs/generated/src/index.d.ts.map +1 -0
  66. package/dist/commonjs/generated/src/index.js +16 -0
  67. package/dist/commonjs/generated/src/index.js.map +1 -0
  68. package/dist/commonjs/generated/src/lroImpl.d.ts +11 -0
  69. package/dist/commonjs/generated/src/lroImpl.d.ts.map +1 -0
  70. package/dist/commonjs/generated/src/lroImpl.js +28 -0
  71. package/dist/commonjs/generated/src/lroImpl.js.map +1 -0
  72. package/dist/commonjs/generated/src/models/index.d.ts +184 -0
  73. package/dist/commonjs/generated/src/models/index.d.ts.map +1 -0
  74. package/dist/commonjs/generated/src/models/index.js +25 -0
  75. package/dist/commonjs/generated/src/models/index.js.map +1 -0
  76. package/dist/commonjs/generated/src/models/mappers.d.ts +15 -0
  77. package/dist/commonjs/generated/src/models/mappers.d.ts.map +1 -0
  78. package/dist/commonjs/generated/src/models/mappers.js +388 -0
  79. package/dist/commonjs/generated/src/models/mappers.js.map +1 -0
  80. package/dist/commonjs/generated/src/models/parameters.d.ts +10 -0
  81. package/dist/commonjs/generated/src/models/parameters.d.ts.map +1 -0
  82. package/dist/commonjs/generated/src/models/parameters.js +88 -0
  83. package/dist/commonjs/generated/src/models/parameters.js.map +1 -0
  84. package/dist/commonjs/generated/src/operations/email.d.ts +33 -0
  85. package/dist/commonjs/generated/src/operations/email.d.ts.map +1 -0
  86. package/dist/commonjs/generated/src/operations/email.js +150 -0
  87. package/dist/commonjs/generated/src/operations/email.js.map +1 -0
  88. package/dist/commonjs/generated/src/operations/index.d.ts +2 -0
  89. package/dist/commonjs/generated/src/operations/index.d.ts.map +1 -0
  90. package/dist/commonjs/generated/src/operations/index.js +12 -0
  91. package/dist/commonjs/generated/src/operations/index.js.map +1 -0
  92. package/dist/commonjs/generated/src/operationsInterfaces/email.d.ts +25 -0
  93. package/dist/commonjs/generated/src/operationsInterfaces/email.d.ts.map +1 -0
  94. package/dist/commonjs/generated/src/operationsInterfaces/email.js +10 -0
  95. package/dist/commonjs/generated/src/operationsInterfaces/email.js.map +1 -0
  96. package/dist/commonjs/generated/src/operationsInterfaces/index.d.ts +2 -0
  97. package/dist/commonjs/generated/src/operationsInterfaces/index.d.ts.map +1 -0
  98. package/dist/commonjs/generated/src/operationsInterfaces/index.js +12 -0
  99. package/dist/commonjs/generated/src/operationsInterfaces/index.js.map +1 -0
  100. package/dist/commonjs/index.d.ts +3 -0
  101. package/dist/commonjs/index.d.ts.map +1 -0
  102. package/dist/commonjs/index.js +8 -0
  103. package/dist/commonjs/index.js.map +1 -0
  104. package/dist/commonjs/logger.d.ts +5 -0
  105. package/dist/commonjs/logger.d.ts.map +1 -0
  106. package/dist/commonjs/logger.js +11 -0
  107. package/dist/commonjs/logger.js.map +1 -0
  108. package/dist/commonjs/models.d.ts +57 -0
  109. package/dist/commonjs/models.d.ts.map +1 -0
  110. package/dist/commonjs/models.js +8 -0
  111. package/dist/commonjs/models.js.map +1 -0
  112. package/dist/commonjs/package.json +3 -0
  113. package/dist/commonjs/tsdoc-metadata.json +11 -0
  114. package/dist/esm/emailClient.d.ts +31 -0
  115. package/dist/esm/emailClient.d.ts.map +1 -0
  116. package/dist/esm/emailClient.js +42 -0
  117. package/dist/esm/emailClient.js.map +1 -0
  118. package/dist/esm/generated/src/emailRestApiClient.d.ts +17 -0
  119. package/dist/esm/generated/src/emailRestApiClient.d.ts.map +1 -0
  120. package/dist/esm/generated/src/emailRestApiClient.js +76 -0
  121. package/dist/esm/generated/src/emailRestApiClient.js.map +1 -0
  122. package/dist/esm/generated/src/index.d.ts +4 -0
  123. package/dist/esm/generated/src/index.d.ts.map +1 -0
  124. package/dist/esm/generated/src/index.js +11 -0
  125. package/dist/esm/generated/src/index.js.map +1 -0
  126. package/dist/esm/generated/src/lroImpl.d.ts +11 -0
  127. package/dist/esm/generated/src/lroImpl.d.ts.map +1 -0
  128. package/dist/esm/generated/src/lroImpl.js +25 -0
  129. package/dist/esm/generated/src/lroImpl.js.map +1 -0
  130. package/dist/esm/generated/src/models/index.d.ts +184 -0
  131. package/dist/esm/generated/src/models/index.d.ts.map +1 -0
  132. package/dist/esm/generated/src/models/index.js +22 -0
  133. package/dist/esm/generated/src/models/index.js.map +1 -0
  134. package/dist/esm/generated/src/models/mappers.d.ts +15 -0
  135. package/dist/esm/generated/src/models/mappers.d.ts.map +1 -0
  136. package/dist/esm/generated/src/models/mappers.js +385 -0
  137. package/dist/esm/generated/src/models/mappers.js.map +1 -0
  138. package/dist/esm/generated/src/models/parameters.d.ts +10 -0
  139. package/dist/esm/generated/src/models/parameters.d.ts.map +1 -0
  140. package/dist/esm/generated/src/models/parameters.js +85 -0
  141. package/dist/esm/generated/src/models/parameters.js.map +1 -0
  142. package/dist/esm/generated/src/operations/email.d.ts +33 -0
  143. package/dist/esm/generated/src/operations/email.d.ts.map +1 -0
  144. package/dist/esm/generated/src/operations/email.js +145 -0
  145. package/dist/esm/generated/src/operations/email.js.map +1 -0
  146. package/dist/esm/generated/src/operations/index.d.ts +2 -0
  147. package/dist/esm/generated/src/operations/index.d.ts.map +1 -0
  148. package/dist/esm/generated/src/operations/index.js +9 -0
  149. package/dist/esm/generated/src/operations/index.js.map +1 -0
  150. package/dist/esm/generated/src/operationsInterfaces/email.d.ts +25 -0
  151. package/dist/esm/generated/src/operationsInterfaces/email.d.ts.map +1 -0
  152. package/{dist-esm/src/generated/src/operationsInterfaces/index.js → dist/esm/generated/src/operationsInterfaces/email.js} +2 -2
  153. package/dist/esm/generated/src/operationsInterfaces/email.js.map +1 -0
  154. package/dist/esm/generated/src/operationsInterfaces/index.d.ts +2 -0
  155. package/dist/esm/generated/src/operationsInterfaces/index.d.ts.map +1 -0
  156. package/dist/esm/generated/src/operationsInterfaces/index.js +9 -0
  157. package/dist/esm/generated/src/operationsInterfaces/index.js.map +1 -0
  158. package/dist/esm/index.d.ts +3 -0
  159. package/dist/esm/index.d.ts.map +1 -0
  160. package/dist/esm/index.js +5 -0
  161. package/dist/esm/index.js.map +1 -0
  162. package/dist/esm/logger.d.ts +5 -0
  163. package/dist/esm/logger.d.ts.map +1 -0
  164. package/dist/esm/logger.js +8 -0
  165. package/dist/esm/logger.js.map +1 -0
  166. package/dist/esm/models.d.ts +57 -0
  167. package/dist/esm/models.d.ts.map +1 -0
  168. package/dist/esm/models.js +4 -0
  169. package/dist/esm/models.js.map +1 -0
  170. package/dist/esm/package.json +3 -0
  171. package/dist/react-native/emailClient.d.ts +31 -0
  172. package/dist/react-native/emailClient.d.ts.map +1 -0
  173. package/dist/react-native/emailClient.js +42 -0
  174. package/dist/react-native/emailClient.js.map +1 -0
  175. package/dist/react-native/generated/src/emailRestApiClient.d.ts +17 -0
  176. package/dist/react-native/generated/src/emailRestApiClient.d.ts.map +1 -0
  177. package/dist/react-native/generated/src/emailRestApiClient.js +76 -0
  178. package/dist/react-native/generated/src/emailRestApiClient.js.map +1 -0
  179. package/dist/react-native/generated/src/index.d.ts +4 -0
  180. package/dist/react-native/generated/src/index.d.ts.map +1 -0
  181. package/dist/react-native/generated/src/index.js +11 -0
  182. package/dist/react-native/generated/src/index.js.map +1 -0
  183. package/dist/react-native/generated/src/lroImpl.d.ts +11 -0
  184. package/dist/react-native/generated/src/lroImpl.d.ts.map +1 -0
  185. package/dist/react-native/generated/src/lroImpl.js +25 -0
  186. package/dist/react-native/generated/src/lroImpl.js.map +1 -0
  187. package/dist/react-native/generated/src/models/index.d.ts +184 -0
  188. package/dist/react-native/generated/src/models/index.d.ts.map +1 -0
  189. package/dist/react-native/generated/src/models/index.js +22 -0
  190. package/dist/react-native/generated/src/models/index.js.map +1 -0
  191. package/dist/react-native/generated/src/models/mappers.d.ts +15 -0
  192. package/dist/react-native/generated/src/models/mappers.d.ts.map +1 -0
  193. package/dist/react-native/generated/src/models/mappers.js +385 -0
  194. package/dist/react-native/generated/src/models/mappers.js.map +1 -0
  195. package/dist/react-native/generated/src/models/parameters.d.ts +10 -0
  196. package/dist/react-native/generated/src/models/parameters.d.ts.map +1 -0
  197. package/dist/react-native/generated/src/models/parameters.js +85 -0
  198. package/dist/react-native/generated/src/models/parameters.js.map +1 -0
  199. package/dist/react-native/generated/src/operations/email.d.ts +33 -0
  200. package/dist/react-native/generated/src/operations/email.d.ts.map +1 -0
  201. package/dist/react-native/generated/src/operations/email.js +145 -0
  202. package/dist/react-native/generated/src/operations/email.js.map +1 -0
  203. package/dist/react-native/generated/src/operations/index.d.ts +2 -0
  204. package/dist/react-native/generated/src/operations/index.d.ts.map +1 -0
  205. package/dist/react-native/generated/src/operations/index.js +9 -0
  206. package/dist/react-native/generated/src/operations/index.js.map +1 -0
  207. package/dist/react-native/generated/src/operationsInterfaces/email.d.ts +25 -0
  208. package/dist/react-native/generated/src/operationsInterfaces/email.d.ts.map +1 -0
  209. package/{dist-esm/src/generated/src/operations/index.js → dist/react-native/generated/src/operationsInterfaces/email.js} +2 -2
  210. package/dist/react-native/generated/src/operationsInterfaces/email.js.map +1 -0
  211. package/dist/react-native/generated/src/operationsInterfaces/index.d.ts +2 -0
  212. package/dist/react-native/generated/src/operationsInterfaces/index.d.ts.map +1 -0
  213. package/dist/react-native/generated/src/operationsInterfaces/index.js +9 -0
  214. package/dist/react-native/generated/src/operationsInterfaces/index.js.map +1 -0
  215. package/dist/react-native/index.d.ts +3 -0
  216. package/dist/react-native/index.d.ts.map +1 -0
  217. package/dist/react-native/index.js +5 -0
  218. package/dist/react-native/index.js.map +1 -0
  219. package/dist/react-native/logger.d.ts +5 -0
  220. package/dist/react-native/logger.d.ts.map +1 -0
  221. package/dist/react-native/logger.js +8 -0
  222. package/dist/react-native/logger.js.map +1 -0
  223. package/dist/react-native/models.d.ts +57 -0
  224. package/dist/react-native/models.d.ts.map +1 -0
  225. package/dist/react-native/models.js +4 -0
  226. package/dist/react-native/models.js.map +1 -0
  227. package/dist/react-native/package.json +3 -0
  228. package/package.json +89 -68
  229. package/dist/index.js +0 -802
  230. package/dist/index.js.map +0 -1
  231. package/dist-esm/samples-dev/sendEmailMultipleRecipients.js +0 -46
  232. package/dist-esm/samples-dev/sendEmailMultipleRecipients.js.map +0 -1
  233. package/dist-esm/samples-dev/sendEmailSingleRecipient.js +0 -40
  234. package/dist-esm/samples-dev/sendEmailSingleRecipient.js.map +0 -1
  235. package/dist-esm/samples-dev/sendEmailWithAttachments.js +0 -47
  236. package/dist-esm/samples-dev/sendEmailWithAttachments.js.map +0 -1
  237. package/dist-esm/samples-dev/sendEmailWithInlineAttachments.js +0 -48
  238. package/dist-esm/samples-dev/sendEmailWithInlineAttachments.js.map +0 -1
  239. package/dist-esm/src/generated/src/emailRestApiClient.js.map +0 -1
  240. package/dist-esm/src/generated/src/index.js.map +0 -1
  241. package/dist-esm/src/generated/src/lroImpl.js +0 -25
  242. package/dist-esm/src/generated/src/lroImpl.js.map +0 -1
  243. package/dist-esm/src/generated/src/models/mappers.js.map +0 -1
  244. package/dist-esm/src/generated/src/models/parameters.js.map +0 -1
  245. package/dist-esm/src/generated/src/operations/email.js.map +0 -1
  246. package/dist-esm/src/generated/src/operationsInterfaces/email.js.map +0 -1
  247. package/dist-esm/src/index.js +0 -5
  248. package/dist-esm/src/index.js.map +0 -1
  249. package/dist-esm/src/models.js +0 -4
  250. package/dist-esm/src/models.js.map +0 -1
  251. package/dist-esm/test/public/emailClient.spec.js +0 -138
  252. package/dist-esm/test/public/emailClient.spec.js.map +0 -1
  253. package/dist-esm/test/public/utils/recordedClient.js +0 -59
  254. package/dist-esm/test/public/utils/recordedClient.js.map +0 -1
  255. /package/{dist-esm/src → dist/browser}/generated/src/models/index.js +0 -0
  256. /package/{dist-esm/src → dist/browser}/generated/src/operationsInterfaces/email.js +0 -0
  257. /package/{dist-esm/src → dist/browser}/logger.js +0 -0
  258. /package/{dist-esm/src → dist/browser}/logger.js.map +0 -0
@@ -1,138 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- import { KnownEmailSendStatus } from "../../src";
4
- import { env } from "@azure-tools/test-recorder";
5
- import { assert } from "chai";
6
- import { createRecordedEmailClientWithConnectionString } from "./utils/recordedClient";
7
- describe(`EmailClient [Playback/Live]`, function () {
8
- let recorder;
9
- let client;
10
- beforeEach(async function () {
11
- ({ client, recorder } = await createRecordedEmailClientWithConnectionString(this));
12
- });
13
- afterEach(async function () {
14
- var _a;
15
- if (!((_a = this.currentTest) === null || _a === void 0 ? void 0 : _a.isPending())) {
16
- await recorder.stop();
17
- }
18
- });
19
- it("successfully sends an email to a single recipient", async function () {
20
- const emailMessage = {
21
- senderAddress: env.SENDER_ADDRESS || "",
22
- recipients: {
23
- to: [
24
- {
25
- address: env.RECIPIENT_ADDRESS || "",
26
- displayName: "someRecipient",
27
- },
28
- ],
29
- },
30
- content: {
31
- subject: "someSubject",
32
- plainText: "somePlainTextBody",
33
- html: "<html><h1>someHtmlBody</html>",
34
- },
35
- };
36
- const poller = await client.beginSend(emailMessage);
37
- const response = await poller.pollUntilDone();
38
- assert.isTrue(response.status === KnownEmailSendStatus.Succeeded);
39
- }).timeout(120000);
40
- it("successfully sends an email to multiple types of recipients", async function () {
41
- var _a, _b, _c, _d, _e;
42
- const emailMessage = {
43
- senderAddress: (_a = env.SENDER_ADDRESS) !== null && _a !== void 0 ? _a : "",
44
- recipients: {
45
- to: [
46
- {
47
- address: (_b = env.RECIPIENT_ADDRESS) !== null && _b !== void 0 ? _b : "",
48
- displayName: "someRecipient",
49
- },
50
- {
51
- address: (_c = env.RECIPIENT_ADDRESS) !== null && _c !== void 0 ? _c : "",
52
- displayName: "someRecipient",
53
- },
54
- ],
55
- cc: [
56
- {
57
- address: (_d = env.RECIPIENT_ADDRESS) !== null && _d !== void 0 ? _d : "",
58
- displayName: "someRecipient",
59
- },
60
- ],
61
- bcc: [
62
- {
63
- address: (_e = env.RECIPIENT_ADDRESS) !== null && _e !== void 0 ? _e : "",
64
- displayName: "someRecipient",
65
- },
66
- ],
67
- },
68
- content: {
69
- subject: "someSubject",
70
- plainText: "somePlainTextBody",
71
- html: "<html><h1>someHtmlBody</html>",
72
- },
73
- };
74
- const poller = await client.beginSend(emailMessage);
75
- const response = await poller.pollUntilDone();
76
- assert.isTrue(response.status === KnownEmailSendStatus.Succeeded);
77
- }).timeout(120000);
78
- it("successfully sends an email with an attachment", async function () {
79
- var _a, _b;
80
- const emailMessage = {
81
- senderAddress: (_a = env.SENDER_ADDRESS) !== null && _a !== void 0 ? _a : "",
82
- recipients: {
83
- to: [
84
- {
85
- address: (_b = env.RECIPIENT_ADDRESS) !== null && _b !== void 0 ? _b : "",
86
- displayName: "someRecipient",
87
- },
88
- ],
89
- },
90
- content: {
91
- subject: "someSubject",
92
- plainText: "somePlainTextBody",
93
- html: "<html><h1>someHtmlBody</html>",
94
- },
95
- attachments: [
96
- {
97
- name: "readme.txt",
98
- contentType: "text/plain",
99
- contentInBase64: "ZW1haWwgdGVzdCBhdHRhY2htZW50",
100
- },
101
- ],
102
- };
103
- const poller = await client.beginSend(emailMessage);
104
- const response = await poller.pollUntilDone();
105
- assert.isTrue(response.status === KnownEmailSendStatus.Succeeded);
106
- }).timeout(120000);
107
- it("successfully sends an email with an inline attachment", async function () {
108
- var _a, _b;
109
- const emailMessage = {
110
- senderAddress: (_a = env.SENDER_ADDRESS) !== null && _a !== void 0 ? _a : "",
111
- recipients: {
112
- to: [
113
- {
114
- address: (_b = env.RECIPIENT_ADDRESS) !== null && _b !== void 0 ? _b : "",
115
- displayName: "someRecipient",
116
- },
117
- ],
118
- },
119
- content: {
120
- subject: "someSubject",
121
- plainText: "somePlainTextBody",
122
- html: '<html>This is the body<br /><img src="cid:inline_image" /></html>',
123
- },
124
- attachments: [
125
- {
126
- name: "myinlineimage.jpg",
127
- contentType: "image/jpeg",
128
- contentInBase64: "ZW1haWwgdGVzdCBhdHRhY2htZW50",
129
- contentId: "inline_image",
130
- },
131
- ],
132
- };
133
- const poller = await client.beginSend(emailMessage);
134
- const response = await poller.pollUntilDone();
135
- assert.isTrue(response.status === KnownEmailSendStatus.Succeeded);
136
- }).timeout(120000);
137
- });
138
- //# sourceMappingURL=emailClient.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"emailClient.spec.js","sourceRoot":"","sources":["../../../test/public/emailClient.spec.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAA6B,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAC5E,OAAO,EAAY,GAAG,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,6CAA6C,EAAE,MAAM,wBAAwB,CAAC;AAEvF,QAAQ,CAAC,6BAA6B,EAAE;IACtC,IAAI,QAAkB,CAAC;IACvB,IAAI,MAAmB,CAAC;IAExB,UAAU,CAAC,KAAK;QACd,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,6CAA6C,CAAC,IAAI,CAAC,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,KAAK;;QACb,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,SAAS,EAAE,CAAA,EAAE,CAAC;YACnC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK;QAC3D,MAAM,YAAY,GAAiB;YACjC,aAAa,EAAE,GAAG,CAAC,cAAc,IAAI,EAAE;YACvC,UAAU,EAAE;gBACV,EAAE,EAAE;oBACF;wBACE,OAAO,EAAE,GAAG,CAAC,iBAAiB,IAAI,EAAE;wBACpC,WAAW,EAAE,eAAe;qBAC7B;iBACF;aACF;YACD,OAAO,EAAE;gBACP,OAAO,EAAE,aAAa;gBACtB,SAAS,EAAE,mBAAmB;gBAC9B,IAAI,EAAE,+BAA+B;aACtC;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC;QAE9C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnB,EAAE,CAAC,6DAA6D,EAAE,KAAK;;QACrE,MAAM,YAAY,GAAiB;YACjC,aAAa,EAAE,MAAA,GAAG,CAAC,cAAc,mCAAI,EAAE;YACvC,UAAU,EAAE;gBACV,EAAE,EAAE;oBACF;wBACE,OAAO,EAAE,MAAA,GAAG,CAAC,iBAAiB,mCAAI,EAAE;wBACpC,WAAW,EAAE,eAAe;qBAC7B;oBACD;wBACE,OAAO,EAAE,MAAA,GAAG,CAAC,iBAAiB,mCAAI,EAAE;wBACpC,WAAW,EAAE,eAAe;qBAC7B;iBACF;gBACD,EAAE,EAAE;oBACF;wBACE,OAAO,EAAE,MAAA,GAAG,CAAC,iBAAiB,mCAAI,EAAE;wBACpC,WAAW,EAAE,eAAe;qBAC7B;iBACF;gBACD,GAAG,EAAE;oBACH;wBACE,OAAO,EAAE,MAAA,GAAG,CAAC,iBAAiB,mCAAI,EAAE;wBACpC,WAAW,EAAE,eAAe;qBAC7B;iBACF;aACF;YACD,OAAO,EAAE;gBACP,OAAO,EAAE,aAAa;gBACtB,SAAS,EAAE,mBAAmB;gBAC9B,IAAI,EAAE,+BAA+B;aACtC;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC;QAE9C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnB,EAAE,CAAC,gDAAgD,EAAE,KAAK;;QACxD,MAAM,YAAY,GAAiB;YACjC,aAAa,EAAE,MAAA,GAAG,CAAC,cAAc,mCAAI,EAAE;YACvC,UAAU,EAAE;gBACV,EAAE,EAAE;oBACF;wBACE,OAAO,EAAE,MAAA,GAAG,CAAC,iBAAiB,mCAAI,EAAE;wBACpC,WAAW,EAAE,eAAe;qBAC7B;iBACF;aACF;YACD,OAAO,EAAE;gBACP,OAAO,EAAE,aAAa;gBACtB,SAAS,EAAE,mBAAmB;gBAC9B,IAAI,EAAE,+BAA+B;aACtC;YACD,WAAW,EAAE;gBACX;oBACE,IAAI,EAAE,YAAY;oBAClB,WAAW,EAAE,YAAY;oBACzB,eAAe,EAAE,8BAA8B;iBAChD;aACF;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC;QAE9C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnB,EAAE,CAAC,uDAAuD,EAAE,KAAK;;QAC/D,MAAM,YAAY,GAAiB;YACjC,aAAa,EAAE,MAAA,GAAG,CAAC,cAAc,mCAAI,EAAE;YACvC,UAAU,EAAE;gBACV,EAAE,EAAE;oBACF;wBACE,OAAO,EAAE,MAAA,GAAG,CAAC,iBAAiB,mCAAI,EAAE;wBACpC,WAAW,EAAE,eAAe;qBAC7B;iBACF;aACF;YACD,OAAO,EAAE;gBACP,OAAO,EAAE,aAAa;gBACtB,SAAS,EAAE,mBAAmB;gBAC9B,IAAI,EAAE,mEAAmE;aAC1E;YACD,WAAW,EAAE;gBACX;oBACE,IAAI,EAAE,mBAAmB;oBACzB,WAAW,EAAE,YAAY;oBACzB,eAAe,EAAE,8BAA8B;oBAC/C,SAAS,EAAE,cAAc;iBAC1B;aACF;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC;QAE9C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { EmailClient, EmailMessage, KnownEmailSendStatus } from \"../../src\";\nimport { Recorder, env } from \"@azure-tools/test-recorder\";\nimport { Context } from \"mocha\";\nimport { assert } from \"chai\";\nimport { createRecordedEmailClientWithConnectionString } from \"./utils/recordedClient\";\n\ndescribe(`EmailClient [Playback/Live]`, function () {\n let recorder: Recorder;\n let client: EmailClient;\n\n beforeEach(async function (this: Context) {\n ({ client, recorder } = await createRecordedEmailClientWithConnectionString(this));\n });\n\n afterEach(async function (this: Context) {\n if (!this.currentTest?.isPending()) {\n await recorder.stop();\n }\n });\n\n it(\"successfully sends an email to a single recipient\", async function () {\n const emailMessage: EmailMessage = {\n senderAddress: env.SENDER_ADDRESS || \"\",\n recipients: {\n to: [\n {\n address: env.RECIPIENT_ADDRESS || \"\",\n displayName: \"someRecipient\",\n },\n ],\n },\n content: {\n subject: \"someSubject\",\n plainText: \"somePlainTextBody\",\n html: \"<html><h1>someHtmlBody</html>\",\n },\n };\n\n const poller = await client.beginSend(emailMessage);\n const response = await poller.pollUntilDone();\n\n assert.isTrue(response.status === KnownEmailSendStatus.Succeeded);\n }).timeout(120000);\n\n it(\"successfully sends an email to multiple types of recipients\", async function () {\n const emailMessage: EmailMessage = {\n senderAddress: env.SENDER_ADDRESS ?? \"\",\n recipients: {\n to: [\n {\n address: env.RECIPIENT_ADDRESS ?? \"\",\n displayName: \"someRecipient\",\n },\n {\n address: env.RECIPIENT_ADDRESS ?? \"\",\n displayName: \"someRecipient\",\n },\n ],\n cc: [\n {\n address: env.RECIPIENT_ADDRESS ?? \"\",\n displayName: \"someRecipient\",\n },\n ],\n bcc: [\n {\n address: env.RECIPIENT_ADDRESS ?? \"\",\n displayName: \"someRecipient\",\n },\n ],\n },\n content: {\n subject: \"someSubject\",\n plainText: \"somePlainTextBody\",\n html: \"<html><h1>someHtmlBody</html>\",\n },\n };\n\n const poller = await client.beginSend(emailMessage);\n const response = await poller.pollUntilDone();\n\n assert.isTrue(response.status === KnownEmailSendStatus.Succeeded);\n }).timeout(120000);\n\n it(\"successfully sends an email with an attachment\", async function () {\n const emailMessage: EmailMessage = {\n senderAddress: env.SENDER_ADDRESS ?? \"\",\n recipients: {\n to: [\n {\n address: env.RECIPIENT_ADDRESS ?? \"\",\n displayName: \"someRecipient\",\n },\n ],\n },\n content: {\n subject: \"someSubject\",\n plainText: \"somePlainTextBody\",\n html: \"<html><h1>someHtmlBody</html>\",\n },\n attachments: [\n {\n name: \"readme.txt\",\n contentType: \"text/plain\",\n contentInBase64: \"ZW1haWwgdGVzdCBhdHRhY2htZW50\",\n },\n ],\n };\n\n const poller = await client.beginSend(emailMessage);\n const response = await poller.pollUntilDone();\n\n assert.isTrue(response.status === KnownEmailSendStatus.Succeeded);\n }).timeout(120000);\n\n it(\"successfully sends an email with an inline attachment\", async function () {\n const emailMessage: EmailMessage = {\n senderAddress: env.SENDER_ADDRESS ?? \"\",\n recipients: {\n to: [\n {\n address: env.RECIPIENT_ADDRESS ?? \"\",\n displayName: \"someRecipient\",\n },\n ],\n },\n content: {\n subject: \"someSubject\",\n plainText: \"somePlainTextBody\",\n html: '<html>This is the body<br /><img src=\"cid:inline_image\" /></html>',\n },\n attachments: [\n {\n name: \"myinlineimage.jpg\",\n contentType: \"image/jpeg\",\n contentInBase64: \"ZW1haWwgdGVzdCBhdHRhY2htZW50\",\n contentId: \"inline_image\",\n },\n ],\n };\n\n const poller = await client.beginSend(emailMessage);\n const response = await poller.pollUntilDone();\n\n assert.isTrue(response.status === KnownEmailSendStatus.Succeeded);\n }).timeout(120000);\n});\n"]}
@@ -1,59 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- import { Recorder, env } from "@azure-tools/test-recorder";
4
- import { EmailClient } from "../../../src";
5
- const envSetupForPlayback = {
6
- COMMUNICATION_CONNECTION_STRING_EMAIL: "endpoint=https://someEndpoint/;accesskey=someAccessKeyw==",
7
- SENDER_ADDRESS: "someSender@contoso.com",
8
- RECIPIENT_ADDRESS: "someRecipient@domain.com",
9
- };
10
- const sanitizerOptions = {
11
- headerSanitizers: [
12
- { key: "x-ms-content-sha256", value: "Sanitized" },
13
- {
14
- key: "Operation-Location",
15
- value: "https://someEndpoint/emails/operations/someId?api-version=2024-07-01-preview",
16
- },
17
- ],
18
- uriSanitizers: [
19
- {
20
- regex: true,
21
- target: `https://[^/]+/emails/operations/.*?api`,
22
- value: "https://someEndpoint/emails/operations/someId?api",
23
- },
24
- {
25
- regex: true,
26
- target: `https://[^/]+/emails:send\\?api`,
27
- value: "https://someEndpoint/emails:send?api-version=2024-07-01-preview",
28
- },
29
- ],
30
- bodySanitizers: [
31
- {
32
- regex: true,
33
- target: `"id"\\s?:\\s?"[^"]*"`,
34
- value: `"id":"someId"`,
35
- },
36
- ],
37
- };
38
- export async function createRecorder(context) {
39
- const recorder = new Recorder(context);
40
- await recorder.start({ envSetupForPlayback });
41
- await recorder.addSanitizers(sanitizerOptions, ["record", "playback"]);
42
- await recorder.setMatcher("CustomDefaultMatcher", {
43
- excludedHeaders: [
44
- "Accept-Language", // This is env-dependent
45
- "x-ms-content-sha256", // This is dependent on the current datetime
46
- ],
47
- });
48
- return recorder;
49
- }
50
- export async function createRecordedEmailClientWithConnectionString(context) {
51
- var _a;
52
- const recorder = await createRecorder(context.currentTest);
53
- const client = new EmailClient((_a = env.COMMUNICATION_CONNECTION_STRING_EMAIL) !== null && _a !== void 0 ? _a : "", recorder.configureClientOptions({}));
54
- return {
55
- client: client,
56
- recorder,
57
- };
58
- }
59
- //# sourceMappingURL=recordedClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"recordedClient.js","sourceRoot":"","sources":["../../../../test/public/utils/recordedClient.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,QAAQ,EAAoB,GAAG,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAO3C,MAAM,mBAAmB,GAA4B;IACnD,qCAAqC,EACnC,2DAA2D;IAC7D,cAAc,EAAE,wBAAwB;IACxC,iBAAiB,EAAE,0BAA0B;CAC9C,CAAC;AAEF,MAAM,gBAAgB,GAAqB;IACzC,gBAAgB,EAAE;QAChB,EAAE,GAAG,EAAE,qBAAqB,EAAE,KAAK,EAAE,WAAW,EAAE;QAClD;YACE,GAAG,EAAE,oBAAoB;YACzB,KAAK,EAAE,8EAA8E;SACtF;KACF;IACD,aAAa,EAAE;QACb;YACE,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,wCAAwC;YAChD,KAAK,EAAE,mDAAmD;SAC3D;QACD;YACE,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,iCAAiC;YACzC,KAAK,EAAE,iEAAiE;SACzE;KACF;IACD,cAAc,EAAE;QACd;YACE,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,sBAAsB;YAC9B,KAAK,EAAE,eAAe;SACvB;KACF;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAyB;IAC5D,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,QAAQ,CAAC,KAAK,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAC9C,MAAM,QAAQ,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IACvE,MAAM,QAAQ,CAAC,UAAU,CAAC,sBAAsB,EAAE;QAChD,eAAe,EAAE;YACf,iBAAiB,EAAE,wBAAwB;YAC3C,qBAAqB,EAAE,4CAA4C;SACpE;KACF,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6CAA6C,CACjE,OAAgB;;IAEhB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAE3D,MAAM,MAAM,GAAG,IAAI,WAAW,CAC5B,MAAA,GAAG,CAAC,qCAAqC,mCAAI,EAAE,EAC/C,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC,CACpC,CAAC;IACF,OAAO;QACL,MAAM,EAAE,MAAM;QACd,QAAQ;KACT,CAAC;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { Context, Test } from \"mocha\";\nimport { Recorder, SanitizerOptions, env } from \"@azure-tools/test-recorder\";\nimport { EmailClient } from \"../../../src\";\n\nexport interface RecordedEmailClient {\n client: EmailClient;\n recorder: Recorder;\n}\n\nconst envSetupForPlayback: { [k: string]: string } = {\n COMMUNICATION_CONNECTION_STRING_EMAIL:\n \"endpoint=https://someEndpoint/;accesskey=someAccessKeyw==\",\n SENDER_ADDRESS: \"someSender@contoso.com\",\n RECIPIENT_ADDRESS: \"someRecipient@domain.com\",\n};\n\nconst sanitizerOptions: SanitizerOptions = {\n headerSanitizers: [\n { key: \"x-ms-content-sha256\", value: \"Sanitized\" },\n {\n key: \"Operation-Location\",\n value: \"https://someEndpoint/emails/operations/someId?api-version=2024-07-01-preview\",\n },\n ],\n uriSanitizers: [\n {\n regex: true,\n target: `https://[^/]+/emails/operations/.*?api`,\n value: \"https://someEndpoint/emails/operations/someId?api\",\n },\n {\n regex: true,\n target: `https://[^/]+/emails:send\\\\?api`,\n value: \"https://someEndpoint/emails:send?api-version=2024-07-01-preview\",\n },\n ],\n bodySanitizers: [\n {\n regex: true,\n target: `\"id\"\\\\s?:\\\\s?\"[^\"]*\"`,\n value: `\"id\":\"someId\"`,\n },\n ],\n};\n\nexport async function createRecorder(context: Test | undefined): Promise<Recorder> {\n const recorder = new Recorder(context);\n await recorder.start({ envSetupForPlayback });\n await recorder.addSanitizers(sanitizerOptions, [\"record\", \"playback\"]);\n await recorder.setMatcher(\"CustomDefaultMatcher\", {\n excludedHeaders: [\n \"Accept-Language\", // This is env-dependent\n \"x-ms-content-sha256\", // This is dependent on the current datetime\n ],\n });\n return recorder;\n}\n\nexport async function createRecordedEmailClientWithConnectionString(\n context: Context,\n): Promise<RecordedEmailClient> {\n const recorder = await createRecorder(context.currentTest);\n\n const client = new EmailClient(\n env.COMMUNICATION_CONNECTION_STRING_EMAIL ?? \"\",\n recorder.configureClientOptions({}),\n );\n return {\n client: client,\n recorder,\n };\n}\n"]}
File without changes
File without changes