@azure/playwright 1.1.5 → 1.1.6

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 (318) hide show
  1. package/README.md +10 -18
  2. package/dist/commonjs/common/constants.d.ts +6 -1
  3. package/dist/commonjs/common/constants.d.ts.map +1 -1
  4. package/dist/commonjs/common/constants.js +10 -1
  5. package/dist/commonjs/common/constants.js.map +1 -1
  6. package/dist/commonjs/common/messages.d.ts +4 -0
  7. package/dist/commonjs/common/messages.d.ts.map +1 -1
  8. package/dist/commonjs/common/messages.js +6 -0
  9. package/dist/commonjs/common/messages.js.map +1 -1
  10. package/dist/commonjs/common/playwrightServiceConfig.d.ts +2 -1
  11. package/dist/commonjs/common/playwrightServiceConfig.d.ts.map +1 -1
  12. package/dist/commonjs/common/playwrightServiceConfig.js +5 -0
  13. package/dist/commonjs/common/playwrightServiceConfig.js.map +1 -1
  14. package/dist/commonjs/common/types.d.ts +15 -0
  15. package/dist/commonjs/common/types.d.ts.map +1 -1
  16. package/dist/commonjs/common/types.js.map +1 -1
  17. package/dist/commonjs/core/playwrightService.d.ts.map +1 -1
  18. package/dist/commonjs/core/playwrightService.js +7 -7
  19. package/dist/commonjs/core/playwrightService.js.map +1 -1
  20. package/dist/{browser/core/playwrightServiceUtils.d.ts → commonjs/core/playwrightServiceUtils-cjs.d.ts} +1 -1
  21. package/dist/commonjs/core/playwrightServiceUtils-cjs.d.ts.map +1 -0
  22. package/dist/commonjs/core/playwrightServiceUtils-cjs.js +14 -0
  23. package/dist/commonjs/core/playwrightServiceUtils-cjs.js.map +1 -0
  24. package/dist/commonjs/index.d.ts +2 -2
  25. package/dist/commonjs/index.d.ts.map +1 -1
  26. package/dist/commonjs/index.js.map +1 -1
  27. package/dist/commonjs/reporter/playwrightReporter.d.ts.map +1 -1
  28. package/dist/commonjs/reporter/playwrightReporter.js +12 -11
  29. package/dist/commonjs/reporter/playwrightReporter.js.map +1 -1
  30. package/dist/commonjs/tsdoc-metadata.json +1 -1
  31. package/dist/{browser/utils/getPackageVersion.d.ts → commonjs/utils/getPackageVersion-cjs.d.ts} +1 -1
  32. package/dist/commonjs/utils/getPackageVersion-cjs.d.ts.map +1 -0
  33. package/dist/commonjs/utils/{getPackageVersion.js → getPackageVersion-cjs.js} +1 -1
  34. package/dist/commonjs/utils/getPackageVersion-cjs.js.map +1 -0
  35. package/dist/commonjs/utils/parseJwt.d.ts.map +1 -1
  36. package/dist/commonjs/utils/parseJwt.js +2 -3
  37. package/dist/commonjs/utils/parseJwt.js.map +1 -1
  38. package/dist/commonjs/utils/utils.d.ts +3 -2
  39. package/dist/commonjs/utils/utils.d.ts.map +1 -1
  40. package/dist/commonjs/utils/utils.js +33 -6
  41. package/dist/commonjs/utils/utils.js.map +1 -1
  42. package/dist/esm/common/constants.d.ts +6 -1
  43. package/dist/esm/common/constants.d.ts.map +1 -1
  44. package/dist/esm/common/constants.js +9 -0
  45. package/dist/esm/common/constants.js.map +1 -1
  46. package/dist/esm/common/messages.d.ts +4 -0
  47. package/dist/esm/common/messages.d.ts.map +1 -1
  48. package/dist/esm/common/messages.js +6 -0
  49. package/dist/esm/common/messages.js.map +1 -1
  50. package/dist/esm/common/playwrightServiceConfig.d.ts +2 -1
  51. package/dist/esm/common/playwrightServiceConfig.d.ts.map +1 -1
  52. package/dist/esm/common/playwrightServiceConfig.js +6 -1
  53. package/dist/esm/common/playwrightServiceConfig.js.map +1 -1
  54. package/dist/esm/common/types.d.ts +15 -0
  55. package/dist/esm/common/types.d.ts.map +1 -1
  56. package/dist/esm/common/types.js.map +1 -1
  57. package/dist/esm/core/playwrightService.d.ts.map +1 -1
  58. package/dist/esm/core/playwrightService.js +2 -2
  59. package/dist/esm/core/playwrightService.js.map +1 -1
  60. package/dist/esm/core/playwrightServiceUtils.d.ts.map +1 -1
  61. package/dist/esm/core/playwrightServiceUtils.js +4 -2
  62. package/dist/esm/core/playwrightServiceUtils.js.map +1 -1
  63. package/dist/esm/index.d.ts +2 -2
  64. package/dist/esm/index.d.ts.map +1 -1
  65. package/dist/esm/index.js.map +1 -1
  66. package/dist/esm/reporter/playwrightReporter.d.ts.map +1 -1
  67. package/dist/esm/reporter/playwrightReporter.js +13 -12
  68. package/dist/esm/reporter/playwrightReporter.js.map +1 -1
  69. package/dist/esm/utils/getPackageVersion.d.ts.map +1 -1
  70. package/dist/esm/utils/getPackageVersion.js +2 -2
  71. package/dist/esm/utils/getPackageVersion.js.map +1 -1
  72. package/dist/esm/utils/parseJwt.d.ts.map +1 -1
  73. package/dist/esm/utils/parseJwt.js +2 -3
  74. package/dist/esm/utils/parseJwt.js.map +1 -1
  75. package/dist/esm/utils/utils.d.ts +3 -2
  76. package/dist/esm/utils/utils.d.ts.map +1 -1
  77. package/dist/esm/utils/utils.js +29 -3
  78. package/dist/esm/utils/utils.js.map +1 -1
  79. package/package.json +18 -26
  80. package/dist/browser/common/constants.d.ts +0 -104
  81. package/dist/browser/common/constants.d.ts.map +0 -1
  82. package/dist/browser/common/constants.js +0 -106
  83. package/dist/browser/common/constants.js.map +0 -1
  84. package/dist/browser/common/customerConfig.d.ts +0 -8
  85. package/dist/browser/common/customerConfig.d.ts.map +0 -1
  86. package/dist/browser/common/customerConfig.js +0 -16
  87. package/dist/browser/common/customerConfig.js.map +0 -1
  88. package/dist/browser/common/entraIdAccessToken.d.ts +0 -19
  89. package/dist/browser/common/entraIdAccessToken.d.ts.map +0 -1
  90. package/dist/browser/common/entraIdAccessToken.js +0 -108
  91. package/dist/browser/common/entraIdAccessToken.js.map +0 -1
  92. package/dist/browser/common/environmentVariables.d.ts +0 -12
  93. package/dist/browser/common/environmentVariables.d.ts.map +0 -1
  94. package/dist/browser/common/environmentVariables.js +0 -22
  95. package/dist/browser/common/environmentVariables.js.map +0 -1
  96. package/dist/browser/common/executor.d.ts +0 -2
  97. package/dist/browser/common/executor.d.ts.map +0 -1
  98. package/dist/browser/common/executor.js +0 -73
  99. package/dist/browser/common/executor.js.map +0 -1
  100. package/dist/browser/common/httpService.d.ts +0 -5
  101. package/dist/browser/common/httpService.d.ts.map +0 -1
  102. package/dist/browser/common/httpService.js +0 -34
  103. package/dist/browser/common/httpService.js.map +0 -1
  104. package/dist/browser/common/logger.d.ts +0 -2
  105. package/dist/browser/common/logger.d.ts.map +0 -1
  106. package/dist/browser/common/logger.js +0 -5
  107. package/dist/browser/common/logger.js.map +0 -1
  108. package/dist/browser/common/messages.d.ts +0 -165
  109. package/dist/browser/common/messages.d.ts.map +0 -1
  110. package/dist/browser/common/messages.js +0 -167
  111. package/dist/browser/common/messages.js.map +0 -1
  112. package/dist/browser/common/playwrightServiceConfig.d.ts +0 -22
  113. package/dist/browser/common/playwrightServiceConfig.d.ts.map +0 -1
  114. package/dist/browser/common/playwrightServiceConfig.js +0 -102
  115. package/dist/browser/common/playwrightServiceConfig.js.map +0 -1
  116. package/dist/browser/common/state.d.ts +0 -2
  117. package/dist/browser/common/state.d.ts.map +0 -1
  118. package/dist/browser/common/state.js +0 -9
  119. package/dist/browser/common/state.js.map +0 -1
  120. package/dist/browser/common/types.d.ts +0 -207
  121. package/dist/browser/common/types.d.ts.map +0 -1
  122. package/dist/browser/common/types.js +0 -4
  123. package/dist/browser/common/types.js.map +0 -1
  124. package/dist/browser/core/global/playwright-service-global-setup.d.ts +0 -4
  125. package/dist/browser/core/global/playwright-service-global-setup.d.ts.map +0 -1
  126. package/dist/browser/core/global/playwright-service-global-setup.js +0 -25
  127. package/dist/browser/core/global/playwright-service-global-setup.js.map +0 -1
  128. package/dist/browser/core/global/playwright-service-global-teardown.d.ts +0 -4
  129. package/dist/browser/core/global/playwright-service-global-teardown.d.ts.map +0 -1
  130. package/dist/browser/core/global/playwright-service-global-teardown.js +0 -19
  131. package/dist/browser/core/global/playwright-service-global-teardown.js.map +0 -1
  132. package/dist/browser/core/initializePlaywrightServiceTestRun.d.ts +0 -9
  133. package/dist/browser/core/initializePlaywrightServiceTestRun.d.ts.map +0 -1
  134. package/dist/browser/core/initializePlaywrightServiceTestRun.js +0 -26
  135. package/dist/browser/core/initializePlaywrightServiceTestRun.js.map +0 -1
  136. package/dist/browser/core/playwrightService.d.ts +0 -66
  137. package/dist/browser/core/playwrightService.d.ts.map +0 -1
  138. package/dist/browser/core/playwrightService.js +0 -219
  139. package/dist/browser/core/playwrightService.js.map +0 -1
  140. package/dist/browser/core/playwrightServiceEntra.d.ts +0 -15
  141. package/dist/browser/core/playwrightServiceEntra.d.ts.map +0 -1
  142. package/dist/browser/core/playwrightServiceEntra.js +0 -53
  143. package/dist/browser/core/playwrightServiceEntra.js.map +0 -1
  144. package/dist/browser/core/playwrightServiceUtils.d.ts.map +0 -1
  145. package/dist/browser/core/playwrightServiceUtils.js +0 -13
  146. package/dist/browser/core/playwrightServiceUtils.js.map +0 -1
  147. package/dist/browser/index.d.ts +0 -10
  148. package/dist/browser/index.d.ts.map +0 -1
  149. package/dist/browser/index.js +0 -11
  150. package/dist/browser/index.js.map +0 -1
  151. package/dist/browser/package.json +0 -3
  152. package/dist/browser/reporter/index.d.ts +0 -10
  153. package/dist/browser/reporter/index.d.ts.map +0 -1
  154. package/dist/browser/reporter/index.js +0 -12
  155. package/dist/browser/reporter/index.js.map +0 -1
  156. package/dist/browser/reporter/playwrightReporter.d.ts +0 -28
  157. package/dist/browser/reporter/playwrightReporter.d.ts.map +0 -1
  158. package/dist/browser/reporter/playwrightReporter.js +0 -210
  159. package/dist/browser/reporter/playwrightReporter.js.map +0 -1
  160. package/dist/browser/utils/PlaywrightServiceClient.d.ts +0 -9
  161. package/dist/browser/utils/PlaywrightServiceClient.d.ts.map +0 -1
  162. package/dist/browser/utils/PlaywrightServiceClient.js +0 -67
  163. package/dist/browser/utils/PlaywrightServiceClient.js.map +0 -1
  164. package/dist/browser/utils/cIInfoProvider.d.ts +0 -20
  165. package/dist/browser/utils/cIInfoProvider.d.ts.map +0 -1
  166. package/dist/browser/utils/cIInfoProvider.js +0 -75
  167. package/dist/browser/utils/cIInfoProvider.js.map +0 -1
  168. package/dist/browser/utils/getPackageVersion.d.ts.map +0 -1
  169. package/dist/browser/utils/getPackageVersion.js +0 -23
  170. package/dist/browser/utils/getPackageVersion.js.map +0 -1
  171. package/dist/browser/utils/getPlaywrightVersion.d.ts +0 -2
  172. package/dist/browser/utils/getPlaywrightVersion.d.ts.map +0 -1
  173. package/dist/browser/utils/getPlaywrightVersion.js +0 -19
  174. package/dist/browser/utils/getPlaywrightVersion.js.map +0 -1
  175. package/dist/browser/utils/packageManager.d.ts +0 -15
  176. package/dist/browser/utils/packageManager.d.ts.map +0 -1
  177. package/dist/browser/utils/packageManager.js +0 -41
  178. package/dist/browser/utils/packageManager.js.map +0 -1
  179. package/dist/browser/utils/parseJwt.d.ts +0 -4
  180. package/dist/browser/utils/parseJwt.d.ts.map +0 -1
  181. package/dist/browser/utils/parseJwt.js +0 -16
  182. package/dist/browser/utils/parseJwt.js.map +0 -1
  183. package/dist/browser/utils/playwrightReporterStorageManager.d.ts +0 -13
  184. package/dist/browser/utils/playwrightReporterStorageManager.d.ts.map +0 -1
  185. package/dist/browser/utils/playwrightReporterStorageManager.js +0 -452
  186. package/dist/browser/utils/playwrightReporterStorageManager.js.map +0 -1
  187. package/dist/browser/utils/utils.d.ts +0 -57
  188. package/dist/browser/utils/utils.d.ts.map +0 -1
  189. package/dist/browser/utils/utils.js +0 -392
  190. package/dist/browser/utils/utils.js.map +0 -1
  191. package/dist/commonjs/common/environmentVariables.d.ts +0 -12
  192. package/dist/commonjs/common/environmentVariables.d.ts.map +0 -1
  193. package/dist/commonjs/common/environmentVariables.js +0 -26
  194. package/dist/commonjs/common/environmentVariables.js.map +0 -1
  195. package/dist/commonjs/core/playwrightServiceUtils.d.ts +0 -5
  196. package/dist/commonjs/core/playwrightServiceUtils.d.ts.map +0 -1
  197. package/dist/commonjs/core/playwrightServiceUtils.js +0 -12
  198. package/dist/commonjs/core/playwrightServiceUtils.js.map +0 -1
  199. package/dist/commonjs/utils/getPackageVersion.d.ts +0 -2
  200. package/dist/commonjs/utils/getPackageVersion.d.ts.map +0 -1
  201. package/dist/commonjs/utils/getPackageVersion.js.map +0 -1
  202. package/dist/esm/common/environmentVariables.d.ts +0 -12
  203. package/dist/esm/common/environmentVariables.d.ts.map +0 -1
  204. package/dist/esm/common/environmentVariables.js +0 -22
  205. package/dist/esm/common/environmentVariables.js.map +0 -1
  206. package/dist/react-native/common/constants.d.ts +0 -104
  207. package/dist/react-native/common/constants.d.ts.map +0 -1
  208. package/dist/react-native/common/constants.js +0 -106
  209. package/dist/react-native/common/constants.js.map +0 -1
  210. package/dist/react-native/common/customerConfig.d.ts +0 -8
  211. package/dist/react-native/common/customerConfig.d.ts.map +0 -1
  212. package/dist/react-native/common/customerConfig.js +0 -16
  213. package/dist/react-native/common/customerConfig.js.map +0 -1
  214. package/dist/react-native/common/entraIdAccessToken.d.ts +0 -19
  215. package/dist/react-native/common/entraIdAccessToken.d.ts.map +0 -1
  216. package/dist/react-native/common/entraIdAccessToken.js +0 -108
  217. package/dist/react-native/common/entraIdAccessToken.js.map +0 -1
  218. package/dist/react-native/common/environmentVariables.d.ts +0 -12
  219. package/dist/react-native/common/environmentVariables.d.ts.map +0 -1
  220. package/dist/react-native/common/environmentVariables.js +0 -22
  221. package/dist/react-native/common/environmentVariables.js.map +0 -1
  222. package/dist/react-native/common/executor.d.ts +0 -2
  223. package/dist/react-native/common/executor.d.ts.map +0 -1
  224. package/dist/react-native/common/executor.js +0 -73
  225. package/dist/react-native/common/executor.js.map +0 -1
  226. package/dist/react-native/common/httpService.d.ts +0 -5
  227. package/dist/react-native/common/httpService.d.ts.map +0 -1
  228. package/dist/react-native/common/httpService.js +0 -34
  229. package/dist/react-native/common/httpService.js.map +0 -1
  230. package/dist/react-native/common/logger.d.ts +0 -2
  231. package/dist/react-native/common/logger.d.ts.map +0 -1
  232. package/dist/react-native/common/logger.js +0 -5
  233. package/dist/react-native/common/logger.js.map +0 -1
  234. package/dist/react-native/common/messages.d.ts +0 -165
  235. package/dist/react-native/common/messages.d.ts.map +0 -1
  236. package/dist/react-native/common/messages.js +0 -167
  237. package/dist/react-native/common/messages.js.map +0 -1
  238. package/dist/react-native/common/playwrightServiceConfig.d.ts +0 -22
  239. package/dist/react-native/common/playwrightServiceConfig.d.ts.map +0 -1
  240. package/dist/react-native/common/playwrightServiceConfig.js +0 -102
  241. package/dist/react-native/common/playwrightServiceConfig.js.map +0 -1
  242. package/dist/react-native/common/state.d.ts +0 -2
  243. package/dist/react-native/common/state.d.ts.map +0 -1
  244. package/dist/react-native/common/state.js +0 -9
  245. package/dist/react-native/common/state.js.map +0 -1
  246. package/dist/react-native/common/types.d.ts +0 -207
  247. package/dist/react-native/common/types.d.ts.map +0 -1
  248. package/dist/react-native/common/types.js +0 -4
  249. package/dist/react-native/common/types.js.map +0 -1
  250. package/dist/react-native/core/global/playwright-service-global-setup.d.ts +0 -4
  251. package/dist/react-native/core/global/playwright-service-global-setup.d.ts.map +0 -1
  252. package/dist/react-native/core/global/playwright-service-global-setup.js +0 -25
  253. package/dist/react-native/core/global/playwright-service-global-setup.js.map +0 -1
  254. package/dist/react-native/core/global/playwright-service-global-teardown.d.ts +0 -4
  255. package/dist/react-native/core/global/playwright-service-global-teardown.d.ts.map +0 -1
  256. package/dist/react-native/core/global/playwright-service-global-teardown.js +0 -19
  257. package/dist/react-native/core/global/playwright-service-global-teardown.js.map +0 -1
  258. package/dist/react-native/core/initializePlaywrightServiceTestRun.d.ts +0 -9
  259. package/dist/react-native/core/initializePlaywrightServiceTestRun.d.ts.map +0 -1
  260. package/dist/react-native/core/initializePlaywrightServiceTestRun.js +0 -26
  261. package/dist/react-native/core/initializePlaywrightServiceTestRun.js.map +0 -1
  262. package/dist/react-native/core/playwrightService.d.ts +0 -66
  263. package/dist/react-native/core/playwrightService.d.ts.map +0 -1
  264. package/dist/react-native/core/playwrightService.js +0 -219
  265. package/dist/react-native/core/playwrightService.js.map +0 -1
  266. package/dist/react-native/core/playwrightServiceEntra.d.ts +0 -15
  267. package/dist/react-native/core/playwrightServiceEntra.d.ts.map +0 -1
  268. package/dist/react-native/core/playwrightServiceEntra.js +0 -53
  269. package/dist/react-native/core/playwrightServiceEntra.js.map +0 -1
  270. package/dist/react-native/core/playwrightServiceUtils.d.ts +0 -5
  271. package/dist/react-native/core/playwrightServiceUtils.d.ts.map +0 -1
  272. package/dist/react-native/core/playwrightServiceUtils.js +0 -13
  273. package/dist/react-native/core/playwrightServiceUtils.js.map +0 -1
  274. package/dist/react-native/index.d.ts +0 -10
  275. package/dist/react-native/index.d.ts.map +0 -1
  276. package/dist/react-native/index.js +0 -11
  277. package/dist/react-native/index.js.map +0 -1
  278. package/dist/react-native/package.json +0 -3
  279. package/dist/react-native/reporter/index.d.ts +0 -10
  280. package/dist/react-native/reporter/index.d.ts.map +0 -1
  281. package/dist/react-native/reporter/index.js +0 -12
  282. package/dist/react-native/reporter/index.js.map +0 -1
  283. package/dist/react-native/reporter/playwrightReporter.d.ts +0 -28
  284. package/dist/react-native/reporter/playwrightReporter.d.ts.map +0 -1
  285. package/dist/react-native/reporter/playwrightReporter.js +0 -210
  286. package/dist/react-native/reporter/playwrightReporter.js.map +0 -1
  287. package/dist/react-native/utils/PlaywrightServiceClient.d.ts +0 -9
  288. package/dist/react-native/utils/PlaywrightServiceClient.d.ts.map +0 -1
  289. package/dist/react-native/utils/PlaywrightServiceClient.js +0 -67
  290. package/dist/react-native/utils/PlaywrightServiceClient.js.map +0 -1
  291. package/dist/react-native/utils/cIInfoProvider.d.ts +0 -20
  292. package/dist/react-native/utils/cIInfoProvider.d.ts.map +0 -1
  293. package/dist/react-native/utils/cIInfoProvider.js +0 -75
  294. package/dist/react-native/utils/cIInfoProvider.js.map +0 -1
  295. package/dist/react-native/utils/getPackageVersion.d.ts +0 -2
  296. package/dist/react-native/utils/getPackageVersion.d.ts.map +0 -1
  297. package/dist/react-native/utils/getPackageVersion.js +0 -23
  298. package/dist/react-native/utils/getPackageVersion.js.map +0 -1
  299. package/dist/react-native/utils/getPlaywrightVersion.d.ts +0 -2
  300. package/dist/react-native/utils/getPlaywrightVersion.d.ts.map +0 -1
  301. package/dist/react-native/utils/getPlaywrightVersion.js +0 -19
  302. package/dist/react-native/utils/getPlaywrightVersion.js.map +0 -1
  303. package/dist/react-native/utils/packageManager.d.ts +0 -15
  304. package/dist/react-native/utils/packageManager.d.ts.map +0 -1
  305. package/dist/react-native/utils/packageManager.js +0 -41
  306. package/dist/react-native/utils/packageManager.js.map +0 -1
  307. package/dist/react-native/utils/parseJwt.d.ts +0 -4
  308. package/dist/react-native/utils/parseJwt.d.ts.map +0 -1
  309. package/dist/react-native/utils/parseJwt.js +0 -16
  310. package/dist/react-native/utils/parseJwt.js.map +0 -1
  311. package/dist/react-native/utils/playwrightReporterStorageManager.d.ts +0 -13
  312. package/dist/react-native/utils/playwrightReporterStorageManager.d.ts.map +0 -1
  313. package/dist/react-native/utils/playwrightReporterStorageManager.js +0 -452
  314. package/dist/react-native/utils/playwrightReporterStorageManager.js.map +0 -1
  315. package/dist/react-native/utils/utils.d.ts +0 -57
  316. package/dist/react-native/utils/utils.d.ts.map +0 -1
  317. package/dist/react-native/utils/utils.js +0 -392
  318. package/dist/react-native/utils/utils.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"playwright-service-global-setup.js","sourceRoot":"","sources":["../../../../src/core/global/playwright-service-global-setup.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,sBAAsB,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,cAAc,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,kCAAkC,EAAE,MAAM,0CAA0C,CAAC;AAE9F,MAAM,mCAAmC,GAAG,KAAK,EAAE,MAAkB,EAAgB,EAAE;IACrF,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,UAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAChF,IAAI,uBAAuB,GAAQ,IAAI,CAAC;IACxC,IAAI,cAAc,CAAC,WAAW,IAAI,OAAO,cAAc,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QACjF,uBAAuB,GAAG,MAAM,0BAA0B,CAAC,OAAO,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IAClG,CAAC;IACD,MAAM,eAAe,GAAG,uBAAuB,CAAC,QAAQ,CAAC,eAAe,CAAC;IACzE,IAAI,eAAe,KAAK,UAAU,EAAE,CAAC;QACnC,MAAM,sBAAsB,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC;IACD,MAAM,kCAAkC,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,uBAAuB,EAAE,CAAC;QAC5B,OAAO,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,mCAAmC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { dirname } from \"node:path\";\nimport type { FullConfig } from \"@playwright/test\";\nimport playwrightServiceEntra from \"../playwrightServiceEntra.js\";\nimport { loadCustomerGlobalFunction } from \"../../common/executor.js\";\nimport customerConfig from \"../../common/customerConfig.js\";\nimport { PlaywrightServiceConfig } from \"../../common/playwrightServiceConfig.js\";\nimport { initializePlaywrightServiceTestRun } from \"../initializePlaywrightServiceTestRun.js\";\n\nconst playwrightServiceGlobalSetupWrapper = async (config: FullConfig): Promise<any> => {\n const rootDir = config.configFile ? dirname(config.configFile!) : process.cwd();\n let customerGlobalSetupFunc: any = null;\n if (customerConfig.globalSetup && typeof customerConfig.globalSetup === \"string\") {\n customerGlobalSetupFunc = await loadCustomerGlobalFunction(rootDir, customerConfig.globalSetup);\n }\n const serviceAuthType = PlaywrightServiceConfig.instance.serviceAuthType;\n if (serviceAuthType === \"ENTRA_ID\") {\n await playwrightServiceEntra.globalSetup();\n }\n await initializePlaywrightServiceTestRun(config);\n if (customerGlobalSetupFunc) {\n return customerGlobalSetupFunc(config);\n }\n};\n\nexport default playwrightServiceGlobalSetupWrapper;\n"]}
@@ -1,4 +0,0 @@
1
- import type { FullConfig } from "@playwright/test";
2
- declare const playwrightServiceGlobalTeardownWrapper: (config: FullConfig) => Promise<void>;
3
- export default playwrightServiceGlobalTeardownWrapper;
4
- //# sourceMappingURL=playwright-service-global-teardown.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"playwright-service-global-teardown.d.ts","sourceRoot":"","sources":["../../../../src/core/global/playwright-service-global-teardown.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAKnD,QAAA,MAAM,sCAAsC,GAAU,QAAQ,UAAU,KAAG,OAAO,CAAC,IAAI,CAatF,CAAC;AAEF,eAAe,sCAAsC,CAAC"}
@@ -1,19 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- import { dirname } from "node:path";
4
- import playwrightServiceEntra from "../playwrightServiceEntra.js";
5
- import { loadCustomerGlobalFunction } from "../../common/executor.js";
6
- import customerConfig from "../../common/customerConfig.js";
7
- const playwrightServiceGlobalTeardownWrapper = async (config) => {
8
- const rootDir = config.configFile ? dirname(config.configFile) : process.cwd();
9
- let customerGlobalTeardownFunc = null;
10
- if (customerConfig.globalTeardown && typeof customerConfig.globalTeardown === "string") {
11
- customerGlobalTeardownFunc = await loadCustomerGlobalFunction(rootDir, customerConfig.globalTeardown);
12
- }
13
- playwrightServiceEntra.globalTeardown();
14
- if (customerGlobalTeardownFunc) {
15
- await customerGlobalTeardownFunc(config);
16
- }
17
- };
18
- export default playwrightServiceGlobalTeardownWrapper;
19
- //# sourceMappingURL=playwright-service-global-teardown.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"playwright-service-global-teardown.js","sourceRoot":"","sources":["../../../../src/core/global/playwright-service-global-teardown.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,sBAAsB,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,cAAc,MAAM,gCAAgC,CAAC;AAE5D,MAAM,sCAAsC,GAAG,KAAK,EAAE,MAAkB,EAAiB,EAAE;IACzF,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,UAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAChF,IAAI,0BAA0B,GAAQ,IAAI,CAAC;IAC3C,IAAI,cAAc,CAAC,cAAc,IAAI,OAAO,cAAc,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;QACvF,0BAA0B,GAAG,MAAM,0BAA0B,CAC3D,OAAO,EACP,cAAc,CAAC,cAAc,CAC9B,CAAC;IACJ,CAAC;IACD,sBAAsB,CAAC,cAAc,EAAE,CAAC;IACxC,IAAI,0BAA0B,EAAE,CAAC;QAC/B,MAAM,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,sCAAsC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { dirname } from \"node:path\";\nimport type { FullConfig } from \"@playwright/test\";\nimport playwrightServiceEntra from \"../playwrightServiceEntra.js\";\nimport { loadCustomerGlobalFunction } from \"../../common/executor.js\";\nimport customerConfig from \"../../common/customerConfig.js\";\n\nconst playwrightServiceGlobalTeardownWrapper = async (config: FullConfig): Promise<void> => {\n const rootDir = config.configFile ? dirname(config.configFile!) : process.cwd();\n let customerGlobalTeardownFunc: any = null;\n if (customerConfig.globalTeardown && typeof customerConfig.globalTeardown === \"string\") {\n customerGlobalTeardownFunc = await loadCustomerGlobalFunction(\n rootDir,\n customerConfig.globalTeardown,\n );\n }\n playwrightServiceEntra.globalTeardown();\n if (customerGlobalTeardownFunc) {\n await customerGlobalTeardownFunc(config);\n }\n};\n\nexport default playwrightServiceGlobalTeardownWrapper;\n"]}
@@ -1,9 +0,0 @@
1
- import type { FullConfig } from "@playwright/test";
2
- /**
3
- * Initializes the Playwright workspaces by setting up authentication and creating a test run.
4
- *
5
- * @param config - The full Playwright configuration
6
- * @returns Promise that resolves when service initialization is complete
7
- */
8
- export declare function initializePlaywrightServiceTestRun(config: FullConfig): Promise<void>;
9
- //# sourceMappingURL=initializePlaywrightServiceTestRun.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"initializePlaywrightServiceTestRun.d.ts","sourceRoot":"","sources":["../../../src/core/initializePlaywrightServiceTestRun.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAMnD;;;;;GAKG;AACH,wBAAsB,kCAAkC,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAe1F"}
@@ -1,26 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- import { PlaywrightServiceClient } from "../utils/PlaywrightServiceClient.js";
4
- import { PlaywrightServiceConfig } from "../common/playwrightServiceConfig.js";
5
- import { getTestRunConfig } from "../utils/utils.js";
6
- import { CIInfoProvider } from "../utils/cIInfoProvider.js";
7
- /**
8
- * Initializes the Playwright workspaces by setting up authentication and creating a test run.
9
- *
10
- * @param config - The full Playwright configuration
11
- * @returns Promise that resolves when service initialization is complete
12
- */
13
- export async function initializePlaywrightServiceTestRun(config) {
14
- const playwrightServiceApiClient = new PlaywrightServiceClient();
15
- const playwrightServiceConfig = PlaywrightServiceConfig.instance;
16
- const ciConfigInfo = CIInfoProvider.getCIInfo();
17
- const testRunCreatePayload = {
18
- displayName: playwrightServiceConfig.runName === ""
19
- ? playwrightServiceConfig.runId
20
- : playwrightServiceConfig.runName,
21
- config: getTestRunConfig(config),
22
- ciConfig: ciConfigInfo,
23
- };
24
- await playwrightServiceApiClient.createOrUpdateTestRun(testRunCreatePayload);
25
- }
26
- //# sourceMappingURL=initializePlaywrightServiceTestRun.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"initializePlaywrightServiceTestRun.js","sourceRoot":"","sources":["../../../src/core/initializePlaywrightServiceTestRun.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kCAAkC,CAAC,MAAkB;IACzE,MAAM,0BAA0B,GAAG,IAAI,uBAAuB,EAAE,CAAC;IACjE,MAAM,uBAAuB,GAAG,uBAAuB,CAAC,QAAQ,CAAC;IACjE,MAAM,YAAY,GAAG,cAAc,CAAC,SAAS,EAAE,CAAC;IAEhD,MAAM,oBAAoB,GAAG;QAC3B,WAAW,EACT,uBAAuB,CAAC,OAAO,KAAK,EAAE;YACpC,CAAC,CAAC,uBAAuB,CAAC,KAAK;YAC/B,CAAC,CAAC,uBAAuB,CAAC,OAAO;QACrC,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC;QAChC,QAAQ,EAAE,YAAY;KACvB,CAAC;IAEF,MAAM,0BAA0B,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,CAAC;AAC/E,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { FullConfig } from \"@playwright/test\";\nimport { PlaywrightServiceClient } from \"../utils/PlaywrightServiceClient.js\";\nimport { PlaywrightServiceConfig } from \"../common/playwrightServiceConfig.js\";\nimport { getTestRunConfig } from \"../utils/utils.js\";\nimport { CIInfoProvider } from \"../utils/cIInfoProvider.js\";\n\n/**\n * Initializes the Playwright workspaces by setting up authentication and creating a test run.\n *\n * @param config - The full Playwright configuration\n * @returns Promise that resolves when service initialization is complete\n */\nexport async function initializePlaywrightServiceTestRun(config: FullConfig): Promise<void> {\n const playwrightServiceApiClient = new PlaywrightServiceClient();\n const playwrightServiceConfig = PlaywrightServiceConfig.instance;\n const ciConfigInfo = CIInfoProvider.getCIInfo();\n\n const testRunCreatePayload = {\n displayName:\n playwrightServiceConfig.runName === \"\"\n ? playwrightServiceConfig.runId\n : playwrightServiceConfig.runName,\n config: getTestRunConfig(config),\n ciConfig: ciConfigInfo,\n };\n\n await playwrightServiceApiClient.createOrUpdateTestRun(testRunCreatePayload);\n}\n"]}
@@ -1,66 +0,0 @@
1
- import type { PlaywrightServiceAdditionalOptions, BrowserConnectOptions } from "../common/types.js";
2
- import type { PlaywrightTestConfig } from "@playwright/test";
3
- /**
4
- * @public
5
- *
6
- * Generate playwright configuration integrated with Azure Playwright.
7
- *
8
- * @param baseConfig - base playwright configuration
9
- * @param options - additional options for the service
10
- * @returns PlaywrightConfig
11
- *
12
- * @example
13
- * ```
14
- * import { defineConfig } from "playwright/test";
15
- * import { createAzurePlaywrightConfig } from "@azure/playwright";
16
- * import playwrightConfig from "./playwright.config";
17
- *
18
- * export default defineConfig(playwrightConfig, createAzurePlaywrightConfig(playwrightConfig));
19
- * ```
20
- *
21
- * @example
22
- * ```
23
- * import { defineConfig } from "playwright/test";
24
- * import { createAzurePlaywrightConfig, ServiceOS, ServiceAuth } from "@azure/playwright";
25
- * import playwrightConfig from "./playwright.config";
26
- * import { DefaultAzureCredential } from '@azure/identity';
27
- *
28
- * export default defineConfig(playwrightConfig, createAzurePlaywrightConfig(playwrightConfig, {
29
- * credential: new DefaultAzureCredential(),
30
- * serviceAuthType: ServiceAuth.ENTRA_ID,
31
- * os: ServiceOS.WINDOWS
32
- * }));
33
- * ```
34
- */
35
- declare const createAzurePlaywrightConfig: (baseConfig: PlaywrightTestConfig, options?: PlaywrightServiceAdditionalOptions) => PlaywrightTestConfig;
36
- /**
37
- * @public
38
- *
39
- * Get connect options required to connect to Azure Playwright's cloud hosted browsers.
40
- *
41
- * @param options - additional options for the service
42
- * @returns BrowserConnectOptions
43
- *
44
- * @example
45
- * ```
46
- * import playwright, { test, expect, BrowserType } from "@playwright/test";
47
- * import { getConnectOptions } from "@azure/playwright";
48
- *
49
- * test('has title', async ({ browserName }) => {
50
- * const { wsEndpoint, options } = await getConnectOptions();
51
- * const browser = await (playwright[browserName] as BrowserType).connect(wsEndpoint, options);
52
- * const context = await browser.newContext();
53
- * const page = await context.newPage();
54
- *
55
- * await page.goto('https://playwright.dev/');
56
- * await expect(page).toHaveTitle(/Playwright/);
57
- *
58
- * await page.close();
59
- * await context.close();
60
- * await browser.close();
61
- * });
62
- * ```
63
- */
64
- declare const getConnectOptions: (options?: PlaywrightServiceAdditionalOptions) => Promise<BrowserConnectOptions>;
65
- export { createAzurePlaywrightConfig, getConnectOptions };
66
- //# sourceMappingURL=playwrightService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"playwrightService.d.ts","sourceRoot":"","sources":["../../../src/core/playwrightService.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,kCAAkC,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAgBpG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAa7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,QAAA,MAAM,2BAA2B,GAC/B,YAAY,oBAAoB,EAChC,UAAU,kCAAkC,KAC3C,oBAiHF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,QAAA,MAAM,iBAAiB,GACrB,UAAU,kCAAkC,KAC3C,OAAO,CAAC,qBAAqB,CA0C/B,CAAC;AAEF,OAAO,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,219 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- import { DefaultConnectOptionsConstants, InternalEnvironmentVariables, ServiceAuth, } from "../common/constants.js";
4
- import customerConfig from "../common/customerConfig.js";
5
- import { PlaywrightServiceConfig } from "../common/playwrightServiceConfig.js";
6
- import playwrightServiceEntra from "./playwrightServiceEntra.js";
7
- import { fetchOrValidateAccessToken, getAccessToken, getServiceWSEndpoint, validateMptPAT, validatePlaywrightVersion, validateServiceUrl, exitWithFailureMessage, getPlaywrightVersion, getVersionInfo, throwErrorWithFailureMessage, getPackageVersion, warnIfAccessTokenCloseToExpiry, } from "../utils/utils.js";
8
- import { ServiceErrorMessageConstants } from "../common/messages.js";
9
- import { globalPaths } from "./playwrightServiceUtils.js";
10
- const performOneTimeOperation = (options) => {
11
- const oneTimeOperationFlag = process.env[InternalEnvironmentVariables.ONE_TIME_OPERATION_FLAG] === "true";
12
- if (oneTimeOperationFlag)
13
- return;
14
- process.env[InternalEnvironmentVariables.ONE_TIME_OPERATION_FLAG] = "true";
15
- if (options?.serviceAuthType === ServiceAuth.ACCESS_TOKEN) {
16
- warnIfAccessTokenCloseToExpiry();
17
- }
18
- };
19
- /**
20
- * @public
21
- *
22
- * Generate playwright configuration integrated with Azure Playwright.
23
- *
24
- * @param baseConfig - base playwright configuration
25
- * @param options - additional options for the service
26
- * @returns PlaywrightConfig
27
- *
28
- * @example
29
- * ```
30
- * import { defineConfig } from "playwright/test";
31
- * import { createAzurePlaywrightConfig } from "@azure/playwright";
32
- * import playwrightConfig from "./playwright.config";
33
- *
34
- * export default defineConfig(playwrightConfig, createAzurePlaywrightConfig(playwrightConfig));
35
- * ```
36
- *
37
- * @example
38
- * ```
39
- * import { defineConfig } from "playwright/test";
40
- * import { createAzurePlaywrightConfig, ServiceOS, ServiceAuth } from "@azure/playwright";
41
- * import playwrightConfig from "./playwright.config";
42
- * import { DefaultAzureCredential } from '@azure/identity';
43
- *
44
- * export default defineConfig(playwrightConfig, createAzurePlaywrightConfig(playwrightConfig, {
45
- * credential: new DefaultAzureCredential(),
46
- * serviceAuthType: ServiceAuth.ENTRA_ID,
47
- * os: ServiceOS.WINDOWS
48
- * }));
49
- * ```
50
- */
51
- const createAzurePlaywrightConfig = (baseConfig, options) => {
52
- validatePlaywrightVersion();
53
- validateServiceUrl();
54
- // Set environment variable to indicate user is using service config
55
- process.env[InternalEnvironmentVariables.USING_SERVICE_CONFIG] = "true";
56
- const playwrightVersionInfo = getVersionInfo(getPlaywrightVersion());
57
- const isMultipleGlobalFileSupported = playwrightVersionInfo.major >= 1 && playwrightVersionInfo.minor >= 49;
58
- if (options?.credential) {
59
- playwrightServiceEntra.entraIdAccessToken = options.credential;
60
- }
61
- // if global setup/teardown is string -
62
- // 1. if multiple global file is supported, convert it to array
63
- // 2. wrap playwright-service global setup/teardown with customer provided global setup/teardown
64
- // if global setup/teardown is array -
65
- // 1. if multiple global file is not supported, throw error
66
- // 2. append playwright-service global setup/teardown with customer provided global setup/teardown
67
- if (baseConfig && baseConfig.globalSetup) {
68
- if (typeof baseConfig.globalSetup === "string") {
69
- if (isMultipleGlobalFileSupported) {
70
- customerConfig.globalSetup = [baseConfig.globalSetup];
71
- }
72
- else {
73
- customerConfig.globalSetup = baseConfig.globalSetup;
74
- }
75
- }
76
- else {
77
- if (!isMultipleGlobalFileSupported) {
78
- throw new Error(ServiceErrorMessageConstants.MULTIPLE_SETUP_FILE_PLAYWRIGHT_VERSION_ERROR.message);
79
- }
80
- customerConfig.globalSetup = baseConfig.globalSetup;
81
- }
82
- }
83
- if (baseConfig && baseConfig.globalTeardown) {
84
- if (typeof baseConfig.globalTeardown === "string") {
85
- if (isMultipleGlobalFileSupported) {
86
- customerConfig.globalTeardown = [baseConfig.globalTeardown];
87
- }
88
- else {
89
- customerConfig.globalTeardown = baseConfig.globalTeardown;
90
- }
91
- }
92
- else {
93
- if (!isMultipleGlobalFileSupported) {
94
- throw new Error(ServiceErrorMessageConstants.MULTIPLE_SETUP_FILE_PLAYWRIGHT_VERSION_ERROR.message);
95
- }
96
- customerConfig.globalTeardown = baseConfig.globalTeardown;
97
- }
98
- }
99
- const playwrightServiceConfig = PlaywrightServiceConfig.instance;
100
- playwrightServiceConfig.setOptions(options);
101
- playwrightServiceConfig.serviceAuthType =
102
- options?.serviceAuthType || DefaultConnectOptionsConstants.DEFAULT_SERVICE_AUTH_TYPE;
103
- const globalFunctions = {};
104
- if (options?.serviceAuthType === ServiceAuth.ACCESS_TOKEN) {
105
- // mpt PAT requested and set by the customer, no need to setup entra lifecycle handlers
106
- validateMptPAT(exitWithFailureMessage);
107
- }
108
- // If multiple global file is supported, append playwright-service global setup/teardown with customer provided global setup/teardown
109
- if (isMultipleGlobalFileSupported) {
110
- globalFunctions.globalSetup = [];
111
- globalFunctions.globalTeardown = [];
112
- if (customerConfig.globalSetup) {
113
- globalFunctions.globalSetup.push(...customerConfig.globalSetup);
114
- }
115
- if (customerConfig.globalTeardown) {
116
- globalFunctions.globalTeardown.push(...customerConfig.globalTeardown);
117
- }
118
- globalFunctions.globalSetup.push(globalPaths.setup);
119
- globalFunctions.globalTeardown.push(globalPaths.teardown);
120
- }
121
- else {
122
- // If multiple global file is not supported, wrap playwright-service global setup/teardown with customer provided global setup/teardown
123
- globalFunctions.globalSetup = globalPaths.setup;
124
- globalFunctions.globalTeardown = globalPaths.teardown;
125
- }
126
- performOneTimeOperation(options);
127
- if (options?.useCloudHostedBrowsers === false) {
128
- console.log("\nRunning tests using local browsers.");
129
- return {
130
- ...globalFunctions,
131
- };
132
- }
133
- if (!process.env[InternalEnvironmentVariables.MPT_CLOUD_HOSTED_BROWSER_USED]) {
134
- process.env[InternalEnvironmentVariables.MPT_CLOUD_HOSTED_BROWSER_USED] = "true";
135
- console.log("\nRunning tests using Playwright workspaces.");
136
- }
137
- return {
138
- use: {
139
- connectOptions: {
140
- wsEndpoint: getServiceWSEndpoint(playwrightServiceConfig.runId, playwrightServiceConfig.serviceOs, playwrightServiceConfig.apiVersion),
141
- headers: {
142
- Authorization: `Bearer ${getAccessToken()}`,
143
- "x-ms-package-version": `@azure/playwright/${getPackageVersion()}`,
144
- },
145
- timeout: playwrightServiceConfig.connectTimeout,
146
- exposeNetwork: playwrightServiceConfig.exposeNetwork,
147
- slowMo: playwrightServiceConfig.slowMo,
148
- },
149
- },
150
- ...globalFunctions,
151
- };
152
- };
153
- /**
154
- * @public
155
- *
156
- * Get connect options required to connect to Azure Playwright's cloud hosted browsers.
157
- *
158
- * @param options - additional options for the service
159
- * @returns BrowserConnectOptions
160
- *
161
- * @example
162
- * ```
163
- * import playwright, { test, expect, BrowserType } from "@playwright/test";
164
- * import { getConnectOptions } from "@azure/playwright";
165
- *
166
- * test('has title', async ({ browserName }) => {
167
- * const { wsEndpoint, options } = await getConnectOptions();
168
- * const browser = await (playwright[browserName] as BrowserType).connect(wsEndpoint, options);
169
- * const context = await browser.newContext();
170
- * const page = await context.newPage();
171
- *
172
- * await page.goto('https://playwright.dev/');
173
- * await expect(page).toHaveTitle(/Playwright/);
174
- *
175
- * await page.close();
176
- * await context.close();
177
- * await browser.close();
178
- * });
179
- * ```
180
- */
181
- const getConnectOptions = async (options) => {
182
- const playwrightServiceConfig = PlaywrightServiceConfig.instance;
183
- playwrightServiceConfig.setOptions(options, true);
184
- performOneTimeOperation(options);
185
- playwrightServiceConfig.serviceAuthType =
186
- options?.serviceAuthType || DefaultConnectOptionsConstants.DEFAULT_SERVICE_AUTH_TYPE;
187
- let token;
188
- if (playwrightServiceConfig.serviceAuthType === ServiceAuth.ENTRA_ID) {
189
- if (!options?.credential) {
190
- throw new Error(ServiceErrorMessageConstants.NO_CRED_ENTRA_AUTH_ERROR.message);
191
- }
192
- playwrightServiceEntra.entraIdAccessToken = options.credential;
193
- token = await fetchOrValidateAccessToken(options.credential);
194
- }
195
- else if (playwrightServiceConfig.serviceAuthType === ServiceAuth.ACCESS_TOKEN) {
196
- validateMptPAT(throwErrorWithFailureMessage);
197
- token = getAccessToken();
198
- }
199
- else {
200
- throw new Error(ServiceErrorMessageConstants.INVALID_AUTH_TYPE_ERROR.message);
201
- }
202
- if (!token) {
203
- throw new Error(ServiceErrorMessageConstants.NO_AUTH_ERROR_PAT_TOKEN.message);
204
- }
205
- return {
206
- wsEndpoint: getServiceWSEndpoint(playwrightServiceConfig.runId, playwrightServiceConfig.serviceOs, playwrightServiceConfig.apiVersion),
207
- options: {
208
- headers: {
209
- Authorization: `Bearer ${token}`,
210
- "x-ms-package-version": `@azure/playwright/${getPackageVersion()}`,
211
- },
212
- timeout: playwrightServiceConfig.connectTimeout,
213
- exposeNetwork: playwrightServiceConfig.exposeNetwork,
214
- slowMo: playwrightServiceConfig.slowMo,
215
- },
216
- };
217
- };
218
- export { createAzurePlaywrightConfig, getConnectOptions };
219
- //# sourceMappingURL=playwrightService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"playwrightService.js","sourceRoot":"","sources":["../../../src/core/playwrightService.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n DefaultConnectOptionsConstants,\n InternalEnvironmentVariables,\n ServiceAuth,\n} from \"../common/constants.js\";\nimport customerConfig from \"../common/customerConfig.js\";\nimport { PlaywrightServiceConfig } from \"../common/playwrightServiceConfig.js\";\nimport playwrightServiceEntra from \"./playwrightServiceEntra.js\";\nimport type { PlaywrightServiceAdditionalOptions, BrowserConnectOptions } from \"../common/types.js\";\nimport {\n fetchOrValidateAccessToken,\n getAccessToken,\n getServiceWSEndpoint,\n validateMptPAT,\n validatePlaywrightVersion,\n validateServiceUrl,\n exitWithFailureMessage,\n getPlaywrightVersion,\n getVersionInfo,\n throwErrorWithFailureMessage,\n getPackageVersion,\n warnIfAccessTokenCloseToExpiry,\n} from \"../utils/utils.js\";\nimport { ServiceErrorMessageConstants } from \"../common/messages.js\";\nimport type { PlaywrightTestConfig } from \"@playwright/test\";\nimport { globalPaths } from \"./playwrightServiceUtils.js\";\n\nconst performOneTimeOperation = (options?: PlaywrightServiceAdditionalOptions): void => {\n const oneTimeOperationFlag =\n process.env[InternalEnvironmentVariables.ONE_TIME_OPERATION_FLAG] === \"true\";\n if (oneTimeOperationFlag) return;\n process.env[InternalEnvironmentVariables.ONE_TIME_OPERATION_FLAG] = \"true\";\n if (options?.serviceAuthType === ServiceAuth.ACCESS_TOKEN) {\n warnIfAccessTokenCloseToExpiry();\n }\n};\n\n/**\n * @public\n *\n * Generate playwright configuration integrated with Azure Playwright.\n *\n * @param baseConfig - base playwright configuration\n * @param options - additional options for the service\n * @returns PlaywrightConfig\n *\n * @example\n * ```\n * import { defineConfig } from \"playwright/test\";\n * import { createAzurePlaywrightConfig } from \"@azure/playwright\";\n * import playwrightConfig from \"./playwright.config\";\n *\n * export default defineConfig(playwrightConfig, createAzurePlaywrightConfig(playwrightConfig));\n * ```\n *\n * @example\n * ```\n * import { defineConfig } from \"playwright/test\";\n * import { createAzurePlaywrightConfig, ServiceOS, ServiceAuth } from \"@azure/playwright\";\n * import playwrightConfig from \"./playwright.config\";\n * import { DefaultAzureCredential } from '@azure/identity';\n *\n * export default defineConfig(playwrightConfig, createAzurePlaywrightConfig(playwrightConfig, {\n * credential: new DefaultAzureCredential(),\n * serviceAuthType: ServiceAuth.ENTRA_ID,\n * os: ServiceOS.WINDOWS\n * }));\n * ```\n */\nconst createAzurePlaywrightConfig = (\n baseConfig: PlaywrightTestConfig,\n options?: PlaywrightServiceAdditionalOptions,\n): PlaywrightTestConfig => {\n validatePlaywrightVersion();\n validateServiceUrl();\n\n // Set environment variable to indicate user is using service config\n process.env[InternalEnvironmentVariables.USING_SERVICE_CONFIG] = \"true\";\n const playwrightVersionInfo = getVersionInfo(getPlaywrightVersion());\n const isMultipleGlobalFileSupported =\n playwrightVersionInfo.major >= 1 && playwrightVersionInfo.minor >= 49;\n if (options?.credential) {\n playwrightServiceEntra.entraIdAccessToken = options.credential;\n }\n\n // if global setup/teardown is string -\n // 1. if multiple global file is supported, convert it to array\n // 2. wrap playwright-service global setup/teardown with customer provided global setup/teardown\n\n // if global setup/teardown is array -\n // 1. if multiple global file is not supported, throw error\n // 2. append playwright-service global setup/teardown with customer provided global setup/teardown\n if (baseConfig && baseConfig.globalSetup) {\n if (typeof baseConfig.globalSetup === \"string\") {\n if (isMultipleGlobalFileSupported) {\n customerConfig.globalSetup = [baseConfig.globalSetup];\n } else {\n customerConfig.globalSetup = baseConfig.globalSetup;\n }\n } else {\n if (!isMultipleGlobalFileSupported) {\n throw new Error(\n ServiceErrorMessageConstants.MULTIPLE_SETUP_FILE_PLAYWRIGHT_VERSION_ERROR.message,\n );\n }\n customerConfig.globalSetup = baseConfig.globalSetup;\n }\n }\n\n if (baseConfig && baseConfig.globalTeardown) {\n if (typeof baseConfig.globalTeardown === \"string\") {\n if (isMultipleGlobalFileSupported) {\n customerConfig.globalTeardown = [baseConfig.globalTeardown];\n } else {\n customerConfig.globalTeardown = baseConfig.globalTeardown;\n }\n } else {\n if (!isMultipleGlobalFileSupported) {\n throw new Error(\n ServiceErrorMessageConstants.MULTIPLE_SETUP_FILE_PLAYWRIGHT_VERSION_ERROR.message,\n );\n }\n customerConfig.globalTeardown = baseConfig.globalTeardown;\n }\n }\n\n const playwrightServiceConfig = PlaywrightServiceConfig.instance;\n playwrightServiceConfig.setOptions(options);\n playwrightServiceConfig.serviceAuthType =\n options?.serviceAuthType || DefaultConnectOptionsConstants.DEFAULT_SERVICE_AUTH_TYPE;\n\n const globalFunctions: any = {};\n\n if (options?.serviceAuthType === ServiceAuth.ACCESS_TOKEN) {\n // mpt PAT requested and set by the customer, no need to setup entra lifecycle handlers\n validateMptPAT(exitWithFailureMessage);\n }\n // If multiple global file is supported, append playwright-service global setup/teardown with customer provided global setup/teardown\n if (isMultipleGlobalFileSupported) {\n globalFunctions.globalSetup = [] as string[];\n globalFunctions.globalTeardown = [] as string[];\n if (customerConfig.globalSetup) {\n globalFunctions.globalSetup.push(...(customerConfig.globalSetup as string[]));\n }\n if (customerConfig.globalTeardown) {\n globalFunctions.globalTeardown.push(...(customerConfig.globalTeardown as string[]));\n }\n globalFunctions.globalSetup.push(globalPaths.setup);\n globalFunctions.globalTeardown.push(globalPaths.teardown);\n } else {\n // If multiple global file is not supported, wrap playwright-service global setup/teardown with customer provided global setup/teardown\n globalFunctions.globalSetup = globalPaths.setup;\n globalFunctions.globalTeardown = globalPaths.teardown;\n }\n performOneTimeOperation(options);\n if (options?.useCloudHostedBrowsers === false) {\n console.log(\"\\nRunning tests using local browsers.\");\n return {\n ...globalFunctions,\n };\n }\n if (!process.env[InternalEnvironmentVariables.MPT_CLOUD_HOSTED_BROWSER_USED]) {\n process.env[InternalEnvironmentVariables.MPT_CLOUD_HOSTED_BROWSER_USED] = \"true\";\n console.log(\"\\nRunning tests using Playwright workspaces.\");\n }\n\n return {\n use: {\n connectOptions: {\n wsEndpoint: getServiceWSEndpoint(\n playwrightServiceConfig.runId,\n playwrightServiceConfig.serviceOs,\n playwrightServiceConfig.apiVersion,\n ),\n headers: {\n Authorization: `Bearer ${getAccessToken()}`,\n \"x-ms-package-version\": `@azure/playwright/${getPackageVersion()}`,\n },\n timeout: playwrightServiceConfig.connectTimeout,\n exposeNetwork: playwrightServiceConfig.exposeNetwork,\n slowMo: playwrightServiceConfig.slowMo,\n },\n },\n ...globalFunctions,\n };\n};\n\n/**\n * @public\n *\n * Get connect options required to connect to Azure Playwright's cloud hosted browsers.\n *\n * @param options - additional options for the service\n * @returns BrowserConnectOptions\n *\n * @example\n * ```\n * import playwright, { test, expect, BrowserType } from \"@playwright/test\";\n * import { getConnectOptions } from \"@azure/playwright\";\n *\n * test('has title', async ({ browserName }) => {\n * const { wsEndpoint, options } = await getConnectOptions();\n * const browser = await (playwright[browserName] as BrowserType).connect(wsEndpoint, options);\n * const context = await browser.newContext();\n * const page = await context.newPage();\n *\n * await page.goto('https://playwright.dev/');\n * await expect(page).toHaveTitle(/Playwright/);\n *\n * await page.close();\n * await context.close();\n * await browser.close();\n * });\n * ```\n */\nconst getConnectOptions = async (\n options?: PlaywrightServiceAdditionalOptions,\n): Promise<BrowserConnectOptions> => {\n const playwrightServiceConfig = PlaywrightServiceConfig.instance;\n\n playwrightServiceConfig.setOptions(options, true);\n performOneTimeOperation(options);\n playwrightServiceConfig.serviceAuthType =\n options?.serviceAuthType || DefaultConnectOptionsConstants.DEFAULT_SERVICE_AUTH_TYPE;\n\n let token: string | undefined;\n if (playwrightServiceConfig.serviceAuthType === ServiceAuth.ENTRA_ID) {\n if (!options?.credential) {\n throw new Error(ServiceErrorMessageConstants.NO_CRED_ENTRA_AUTH_ERROR.message);\n }\n playwrightServiceEntra.entraIdAccessToken = options.credential;\n token = await fetchOrValidateAccessToken(options.credential);\n } else if (playwrightServiceConfig.serviceAuthType === ServiceAuth.ACCESS_TOKEN) {\n validateMptPAT(throwErrorWithFailureMessage);\n token = getAccessToken();\n } else {\n throw new Error(ServiceErrorMessageConstants.INVALID_AUTH_TYPE_ERROR.message);\n }\n\n if (!token) {\n throw new Error(ServiceErrorMessageConstants.NO_AUTH_ERROR_PAT_TOKEN.message);\n }\n\n return {\n wsEndpoint: getServiceWSEndpoint(\n playwrightServiceConfig.runId,\n playwrightServiceConfig.serviceOs,\n playwrightServiceConfig.apiVersion,\n ),\n options: {\n headers: {\n Authorization: `Bearer ${token}`,\n \"x-ms-package-version\": `@azure/playwright/${getPackageVersion()}`,\n },\n timeout: playwrightServiceConfig.connectTimeout,\n exposeNetwork: playwrightServiceConfig.exposeNetwork,\n slowMo: playwrightServiceConfig.slowMo,\n },\n };\n};\n\nexport { createAzurePlaywrightConfig, getConnectOptions };\n"]}
@@ -1,15 +0,0 @@
1
- import type { TokenCredential } from "@azure/identity";
2
- declare class PlaywrightServiceEntra {
3
- private _entraIdAccessTokenRotationInterval?;
4
- private _entraIdAccessToken;
5
- static getInstance: () => PlaywrightServiceEntra;
6
- set entraIdAccessToken(credential: TokenCredential);
7
- constructor();
8
- globalSetup: () => Promise<void>;
9
- globalTeardown: () => void;
10
- private entraIdGlobalSetupRotationHandler;
11
- private entraIdAccessTokenRotation;
12
- }
13
- declare const instance: PlaywrightServiceEntra;
14
- export default instance;
15
- //# sourceMappingURL=playwrightServiceEntra.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"playwrightServiceEntra.d.ts","sourceRoot":"","sources":["../../../src/core/playwrightServiceEntra.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,cAAM,sBAAsB;IAC1B,OAAO,CAAC,mCAAmC,CAAC,CAAiB;IAC7D,OAAO,CAAC,mBAAmB,CAAqB;IAEhD,MAAM,CAAC,WAAW,QAAO,sBAAsB,CAK7C;IAEF,IAAI,kBAAkB,CAAC,UAAU,EAAE,eAAe,EAEjD;;IAMM,WAAW,QAAa,OAAO,CAAC,IAAI,CAAC,CAK1C;IAEK,cAAc,QAAO,IAAI,CAM9B;IAEF,OAAO,CAAC,iCAAiC,CAMvC;IAEF,OAAO,CAAC,0BAA0B,CAShC;CACH;AAED,QAAA,MAAM,QAAQ,wBAAuC,CAAC;AACtD,eAAe,QAAQ,CAAC"}
@@ -1,53 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- import { EntraIdAccessTokenConstants } from "../common/constants.js";
4
- import { coreLogger } from "../common/logger.js";
5
- import { EntraIdAccessToken } from "../common/entraIdAccessToken.js";
6
- import { state } from "../common/state.js";
7
- class PlaywrightServiceEntra {
8
- _entraIdAccessTokenRotationInterval;
9
- _entraIdAccessToken;
10
- static getInstance = () => {
11
- if (!state.playwrightServiceEntra) {
12
- state.playwrightServiceEntra = new PlaywrightServiceEntra();
13
- }
14
- return state.playwrightServiceEntra;
15
- };
16
- set entraIdAccessToken(credential) {
17
- this._entraIdAccessToken = new EntraIdAccessToken(credential);
18
- }
19
- constructor() {
20
- this._entraIdAccessToken = new EntraIdAccessToken();
21
- }
22
- globalSetup = async () => {
23
- coreLogger.info("Entra id access token setup start");
24
- await this._entraIdAccessToken.fetchEntraIdAccessToken();
25
- await this._entraIdAccessToken.prefetchStorageAccessToken();
26
- this.entraIdGlobalSetupRotationHandler();
27
- };
28
- globalTeardown = () => {
29
- coreLogger.info("Entra id access token teardown start");
30
- if (this._entraIdAccessTokenRotationInterval) {
31
- clearInterval(this._entraIdAccessTokenRotationInterval);
32
- coreLogger.info("Entra id access token rotation interval cleared");
33
- }
34
- };
35
- entraIdGlobalSetupRotationHandler = () => {
36
- this._entraIdAccessTokenRotationInterval = setInterval(this.entraIdAccessTokenRotation, EntraIdAccessTokenConstants.ROTATION_INTERVAL_PERIOD_IN_MINUTES * 60 * 1000);
37
- coreLogger.info("Entra id access token rotation handler setup done");
38
- };
39
- entraIdAccessTokenRotation = async () => {
40
- coreLogger.info("Entra id access token rotation handler");
41
- try {
42
- if (this._entraIdAccessToken.doesEntraIdAccessTokenNeedRotation()) {
43
- await this._entraIdAccessToken.fetchEntraIdAccessToken();
44
- }
45
- }
46
- catch (err) {
47
- coreLogger.error(err); // log error and continue if it's an intermittent issue (optimistic approach)
48
- }
49
- };
50
- }
51
- const instance = PlaywrightServiceEntra.getInstance();
52
- export default instance;
53
- //# sourceMappingURL=playwrightServiceEntra.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"playwrightServiceEntra.js","sourceRoot":"","sources":["../../../src/core/playwrightServiceEntra.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAG3C,MAAM,sBAAsB;IAClB,mCAAmC,CAAkB;IACrD,mBAAmB,CAAqB;IAEhD,MAAM,CAAC,WAAW,GAAG,GAA2B,EAAE;QAChD,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC;YAClC,KAAK,CAAC,sBAAsB,GAAG,IAAI,sBAAsB,EAAE,CAAC;QAC9D,CAAC;QACD,OAAO,KAAK,CAAC,sBAAsB,CAAC;IACtC,CAAC,CAAC;IAEF,IAAI,kBAAkB,CAAC,UAA2B;QAChD,IAAI,CAAC,mBAAmB,GAAG,IAAI,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAChE,CAAC;IAED;QACE,IAAI,CAAC,mBAAmB,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACtD,CAAC;IAEM,WAAW,GAAG,KAAK,IAAmB,EAAE;QAC7C,UAAU,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QACrD,MAAM,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,EAAE,CAAC;QACzD,MAAM,IAAI,CAAC,mBAAmB,CAAC,0BAA0B,EAAE,CAAC;QAC5D,IAAI,CAAC,iCAAiC,EAAE,CAAC;IAC3C,CAAC,CAAC;IAEK,cAAc,GAAG,GAAS,EAAE;QACjC,UAAU,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACxD,IAAI,IAAI,CAAC,mCAAmC,EAAE,CAAC;YAC7C,aAAa,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YACxD,UAAU,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;IACH,CAAC,CAAC;IAEM,iCAAiC,GAAG,GAAS,EAAE;QACrD,IAAI,CAAC,mCAAmC,GAAG,WAAW,CACpD,IAAI,CAAC,0BAA0B,EAC/B,2BAA2B,CAAC,mCAAmC,GAAG,EAAE,GAAG,IAAI,CAC5E,CAAC;QACF,UAAU,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC,CAAC;IAEM,0BAA0B,GAAG,KAAK,IAAmB,EAAE;QAC7D,UAAU,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QAC1D,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,mBAAmB,CAAC,kCAAkC,EAAE,EAAE,CAAC;gBAClE,MAAM,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,EAAE,CAAC;YAC3D,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,6EAA6E;QACtG,CAAC;IACH,CAAC,CAAC;;AAGJ,MAAM,QAAQ,GAAG,sBAAsB,CAAC,WAAW,EAAE,CAAC;AACtD,eAAe,QAAQ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { EntraIdAccessTokenConstants } from \"../common/constants.js\";\nimport { coreLogger } from \"../common/logger.js\";\nimport { EntraIdAccessToken } from \"../common/entraIdAccessToken.js\";\nimport { state } from \"../common/state.js\";\nimport type { TokenCredential } from \"@azure/identity\";\n\nclass PlaywrightServiceEntra {\n private _entraIdAccessTokenRotationInterval?: NodeJS.Timeout;\n private _entraIdAccessToken: EntraIdAccessToken;\n\n static getInstance = (): PlaywrightServiceEntra => {\n if (!state.playwrightServiceEntra) {\n state.playwrightServiceEntra = new PlaywrightServiceEntra();\n }\n return state.playwrightServiceEntra;\n };\n\n set entraIdAccessToken(credential: TokenCredential) {\n this._entraIdAccessToken = new EntraIdAccessToken(credential);\n }\n\n constructor() {\n this._entraIdAccessToken = new EntraIdAccessToken();\n }\n\n public globalSetup = async (): Promise<void> => {\n coreLogger.info(\"Entra id access token setup start\");\n await this._entraIdAccessToken.fetchEntraIdAccessToken();\n await this._entraIdAccessToken.prefetchStorageAccessToken();\n this.entraIdGlobalSetupRotationHandler();\n };\n\n public globalTeardown = (): void => {\n coreLogger.info(\"Entra id access token teardown start\");\n if (this._entraIdAccessTokenRotationInterval) {\n clearInterval(this._entraIdAccessTokenRotationInterval);\n coreLogger.info(\"Entra id access token rotation interval cleared\");\n }\n };\n\n private entraIdGlobalSetupRotationHandler = (): void => {\n this._entraIdAccessTokenRotationInterval = setInterval(\n this.entraIdAccessTokenRotation,\n EntraIdAccessTokenConstants.ROTATION_INTERVAL_PERIOD_IN_MINUTES * 60 * 1000,\n );\n coreLogger.info(\"Entra id access token rotation handler setup done\");\n };\n\n private entraIdAccessTokenRotation = async (): Promise<void> => {\n coreLogger.info(\"Entra id access token rotation handler\");\n try {\n if (this._entraIdAccessToken.doesEntraIdAccessTokenNeedRotation()) {\n await this._entraIdAccessToken.fetchEntraIdAccessToken();\n }\n } catch (err) {\n coreLogger.error(err); // log error and continue if it's an intermittent issue (optimistic approach)\n }\n };\n}\n\nconst instance = PlaywrightServiceEntra.getInstance();\nexport default instance;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"playwrightServiceUtils.d.ts","sourceRoot":"","sources":["../../../src/core/playwrightServiceUtils.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,WAAW;;;CAGvB,CAAC"}
@@ -1,13 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- import path from "node:path";
4
- import { dirname } from "node:path";
5
- import { fileURLToPath } from "node:url";
6
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
7
- // @ts-ignore ESM only output
8
- const currentDir = dirname(fileURLToPath(import.meta.url));
9
- export const globalPaths = {
10
- setup: path.join(currentDir, "./global/playwright-service-global-setup.js"),
11
- teardown: path.join(currentDir, "./global/playwright-service-global-teardown.js"),
12
- };
13
- //# sourceMappingURL=playwrightServiceUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"playwrightServiceUtils.js","sourceRoot":"","sources":["../../../src/core/playwrightServiceUtils.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,6DAA6D;AAC7D,6BAA6B;AAC7B,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE3D,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,6CAA6C,CAAC;IAC3E,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gDAAgD,CAAC;CAClF,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport path from \"node:path\";\nimport { dirname } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore ESM only output\nconst currentDir = dirname(fileURLToPath(import.meta.url));\n\nexport const globalPaths = {\n setup: path.join(currentDir, \"./global/playwright-service-global-setup.js\"),\n teardown: path.join(currentDir, \"./global/playwright-service-global-teardown.js\"),\n};\n"]}
@@ -1,10 +0,0 @@
1
- /**
2
- * Library for integrating Azure Playwright with existing playwright projects.
3
- *
4
- * @packageDocumentation
5
- */
6
- import { ServiceAuth, ServiceOS, ServiceEnvironmentVariable } from "./common/constants.js";
7
- import type { OsType, AuthenticationType, BrowserConnectOptions, EndpointOptions, PlaywrightServiceAdditionalOptions } from "./common/types.js";
8
- import { createAzurePlaywrightConfig, getConnectOptions } from "./core/playwrightService.js";
9
- export { createAzurePlaywrightConfig, getConnectOptions, ServiceOS, ServiceAuth, ServiceEnvironmentVariable, type OsType, type AuthenticationType, type BrowserConnectOptions, type EndpointOptions, type PlaywrightServiceAdditionalOptions, };
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,KAAK,EACV,MAAM,EACN,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,kCAAkC,EACnC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAE7F,OAAO,EACL,2BAA2B,EAC3B,iBAAiB,EACjB,SAAS,EACT,WAAW,EACX,0BAA0B,EAC1B,KAAK,MAAM,EACX,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,kCAAkC,GACxC,CAAC"}
@@ -1,11 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- /**
4
- * Library for integrating Azure Playwright with existing playwright projects.
5
- *
6
- * @packageDocumentation
7
- */
8
- import { ServiceAuth, ServiceOS, ServiceEnvironmentVariable } from "./common/constants.js";
9
- import { createAzurePlaywrightConfig, getConnectOptions } from "./core/playwrightService.js";
10
- export { createAzurePlaywrightConfig, getConnectOptions, ServiceOS, ServiceAuth, ServiceEnvironmentVariable, };
11
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAQ3F,OAAO,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAE7F,OAAO,EACL,2BAA2B,EAC3B,iBAAiB,EACjB,SAAS,EACT,WAAW,EACX,0BAA0B,GAM3B,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * Library for integrating Azure Playwright with existing playwright projects.\n *\n * @packageDocumentation\n */\n\nimport { ServiceAuth, ServiceOS, ServiceEnvironmentVariable } from \"./common/constants.js\";\nimport type {\n OsType,\n AuthenticationType,\n BrowserConnectOptions,\n EndpointOptions,\n PlaywrightServiceAdditionalOptions,\n} from \"./common/types.js\";\nimport { createAzurePlaywrightConfig, getConnectOptions } from \"./core/playwrightService.js\";\n\nexport {\n createAzurePlaywrightConfig,\n getConnectOptions,\n ServiceOS,\n ServiceAuth,\n ServiceEnvironmentVariable,\n type OsType,\n type AuthenticationType,\n type BrowserConnectOptions,\n type EndpointOptions,\n type PlaywrightServiceAdditionalOptions,\n};\n"]}
@@ -1,3 +0,0 @@
1
- {
2
- "type": "module"
3
- }
@@ -1,10 +0,0 @@
1
- /**
2
- * Azure Playwright Reporter
3
- * Feature that uploads the report generated by the HTML reporter to the customer's storage account and
4
- * view them in the service portal for faster and easier troubleshooting.
5
- *
6
- * @packageDocumentation
7
- */
8
- import playwrightReporter from "./playwrightReporter.js";
9
- export default playwrightReporter;
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/reporter/index.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AAEH,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AAEzD,eAAe,kBAAkB,CAAC"}
@@ -1,12 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- /**
4
- * Azure Playwright Reporter
5
- * Feature that uploads the report generated by the HTML reporter to the customer's storage account and
6
- * view them in the service portal for faster and easier troubleshooting.
7
- *
8
- * @packageDocumentation
9
- */
10
- import playwrightReporter from "./playwrightReporter.js";
11
- export default playwrightReporter;
12
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/reporter/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;;;;;GAMG;AAEH,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AAEzD,eAAe,kBAAkB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * Azure Playwright Reporter\n * Feature that uploads the report generated by the HTML reporter to the customer's storage account and\n * view them in the service portal for faster and easier troubleshooting.\n *\n * @packageDocumentation\n */\n\nimport playwrightReporter from \"./playwrightReporter.js\";\n\nexport default playwrightReporter;\n"]}
@@ -1,28 +0,0 @@
1
- import type { FullConfig, Reporter } from "@playwright/test/reporter";
2
- /**
3
- * Azure Playwright Reporter - Uploads generated Playwright test report folder to Azure Storage.
4
- */
5
- export default class PlaywrightReporter implements Reporter {
6
- private config;
7
- private workspaceMetadata;
8
- private isReportingEnabled;
9
- /**
10
- * Called when test run begins. Stores configuration for later use and validates serviceAuthType and
11
- * retrieves workspace metadata.
12
- * @param config - Playwright test configuration
13
- */
14
- onBegin(config: FullConfig): Promise<void>;
15
- /**
16
- * Called when test run ends. Uploads Playwright test report to Azure Storage if reporting is enabled.
17
- */
18
- onEnd(): Promise<void>;
19
- private uploadHtmlReport;
20
- private validateHtmlReporterConfiguration;
21
- /**
22
- * Determines if reporting should be enabled based on workspace metadata.
23
- * @param workspaceMetadata - The workspace metadata containing reporting and storageUri information
24
- * @returns true if reporting should be enabled, false otherwise
25
- */
26
- private isReportingAllowed;
27
- }
28
- //# sourceMappingURL=playwrightReporter.d.ts.map