sentry-testkit 4.1.0 → 5.0.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 (124) hide show
  1. package/README.md +52 -89
  2. package/dist/browser.d.ts +29 -0
  3. package/dist/browser.d.ts.map +1 -0
  4. package/dist/browser.js +16 -20
  5. package/dist/browser.js.map +1 -0
  6. package/dist/index.d.ts +2 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +18 -25
  9. package/dist/index.js.map +1 -0
  10. package/dist/initNetworkInterceptor.d.ts +4 -0
  11. package/dist/initNetworkInterceptor.d.ts.map +1 -0
  12. package/dist/initNetworkInterceptor.js +21 -38
  13. package/dist/initNetworkInterceptor.js.map +1 -0
  14. package/dist/jestMock.d.ts +4 -0
  15. package/dist/jestMock.d.ts.map +1 -0
  16. package/dist/jestMock.js +8 -15
  17. package/dist/jestMock.js.map +1 -0
  18. package/dist/localServerApi.d.ts +11 -0
  19. package/dist/localServerApi.d.ts.map +1 -0
  20. package/dist/localServerApi.js +82 -107
  21. package/dist/localServerApi.js.map +1 -0
  22. package/dist/parsers.d.ts +10 -0
  23. package/dist/parsers.d.ts.map +1 -0
  24. package/dist/parsers.js +27 -48
  25. package/dist/parsers.js.map +1 -0
  26. package/dist/sentryTransport.d.ts +16 -0
  27. package/dist/sentryTransport.d.ts.map +1 -0
  28. package/dist/sentryTransport.js +49 -73
  29. package/dist/sentryTransport.js.map +1 -0
  30. package/dist/src/browser.d.ts +18 -0
  31. package/dist/src/browser.d.ts.map +1 -0
  32. package/dist/src/browser.js +17 -0
  33. package/dist/src/browser.js.map +1 -0
  34. package/dist/src/index.d.ts +24 -0
  35. package/dist/src/index.d.ts.map +1 -0
  36. package/dist/src/index.js +19 -0
  37. package/dist/src/index.js.map +1 -0
  38. package/dist/src/initNetworkInterceptor.d.ts +4 -0
  39. package/dist/src/initNetworkInterceptor.d.ts.map +1 -0
  40. package/dist/src/initNetworkInterceptor.js +26 -0
  41. package/dist/src/initNetworkInterceptor.js.map +1 -0
  42. package/dist/src/jestMock.d.ts +3 -0
  43. package/dist/src/jestMock.d.ts.map +1 -0
  44. package/dist/src/jestMock.js +40 -0
  45. package/dist/src/jestMock.js.map +1 -0
  46. package/dist/src/localServerApi.d.ts +7 -0
  47. package/dist/src/localServerApi.d.ts.map +1 -0
  48. package/dist/src/localServerApi.js +103 -0
  49. package/dist/src/localServerApi.js.map +1 -0
  50. package/dist/src/parsers.d.ts +10 -0
  51. package/dist/src/parsers.d.ts.map +1 -0
  52. package/dist/src/parsers.js +29 -0
  53. package/dist/src/parsers.js.map +1 -0
  54. package/dist/src/sentryTransport.d.ts +16 -0
  55. package/dist/src/sentryTransport.d.ts.map +1 -0
  56. package/dist/src/sentryTransport.js +50 -0
  57. package/dist/src/sentryTransport.js.map +1 -0
  58. package/dist/src/testkit.d.ts +3 -0
  59. package/dist/src/testkit.d.ts.map +1 -0
  60. package/dist/src/testkit.js +70 -0
  61. package/dist/src/testkit.js.map +1 -0
  62. package/dist/src/transformers.d.ts +4 -0
  63. package/dist/src/transformers.d.ts.map +1 -0
  64. package/dist/src/transformers.js +44 -0
  65. package/dist/src/transformers.js.map +1 -0
  66. package/dist/src/types.d.ts +73 -0
  67. package/dist/src/types.d.ts.map +1 -0
  68. package/dist/src/types.js +3 -0
  69. package/dist/src/types.js.map +1 -0
  70. package/dist/test/browser.test.d.ts +2 -0
  71. package/dist/test/browser.test.d.ts.map +1 -0
  72. package/dist/test/browser.test.js +52 -0
  73. package/dist/test/browser.test.js.map +1 -0
  74. package/dist/test/commonTests.d.ts +8 -0
  75. package/dist/test/commonTests.d.ts.map +1 -0
  76. package/dist/test/commonTests.js +461 -0
  77. package/dist/test/commonTests.js.map +1 -0
  78. package/dist/test/fixtures/external-app-perf.d.ts +2 -0
  79. package/dist/test/fixtures/external-app-perf.d.ts.map +1 -0
  80. package/dist/test/fixtures/external-app-perf.js +20 -0
  81. package/dist/test/fixtures/external-app-perf.js.map +1 -0
  82. package/dist/test/fixtures/external-app.d.ts +2 -0
  83. package/dist/test/fixtures/external-app.d.ts.map +1 -0
  84. package/dist/test/fixtures/external-app.js +12 -0
  85. package/dist/test/fixtures/external-app.js.map +1 -0
  86. package/dist/test/jest-mock.help.d.ts +2 -0
  87. package/dist/test/jest-mock.help.d.ts.map +1 -0
  88. package/dist/test/jest-mock.help.js +49 -0
  89. package/dist/test/jest-mock.help.js.map +1 -0
  90. package/dist/test/jest-mock.test.d.ts +2 -0
  91. package/dist/test/jest-mock.test.d.ts.map +1 -0
  92. package/dist/test/jest-mock.test.js +26 -0
  93. package/dist/test/jest-mock.test.js.map +1 -0
  94. package/dist/test/local-server.test.d.ts +2 -0
  95. package/dist/test/local-server.test.d.ts.map +1 -0
  96. package/dist/test/local-server.test.js +213 -0
  97. package/dist/test/local-server.test.js.map +1 -0
  98. package/dist/test/network-interception.test.d.ts +2 -0
  99. package/dist/test/network-interception.test.d.ts.map +1 -0
  100. package/dist/test/network-interception.test.js +80 -0
  101. package/dist/test/network-interception.test.js.map +1 -0
  102. package/dist/test/node.test.d.ts +2 -0
  103. package/dist/test/node.test.d.ts.map +1 -0
  104. package/dist/test/node.test.js +52 -0
  105. package/dist/test/node.test.js.map +1 -0
  106. package/dist/test/puppeteer.test.d.ts +2 -0
  107. package/dist/test/puppeteer.test.d.ts.map +1 -0
  108. package/dist/test/puppeteer.test.js +73 -0
  109. package/dist/test/puppeteer.test.js.map +1 -0
  110. package/dist/testkit.d.ts +14 -0
  111. package/dist/testkit.d.ts.map +1 -0
  112. package/dist/testkit.js +66 -75
  113. package/dist/testkit.js.map +1 -0
  114. package/dist/transformers.d.ts +4 -0
  115. package/dist/transformers.d.ts.map +1 -0
  116. package/dist/transformers.js +40 -38
  117. package/dist/transformers.js.map +1 -0
  118. package/dist/tsconfig.tsbuildinfo +1 -0
  119. package/dist/types.d.ts +73 -0
  120. package/dist/types.d.ts.map +1 -0
  121. package/dist/types.js +3 -0
  122. package/dist/types.js.map +1 -0
  123. package/package.json +14 -4
  124. package/index.d.ts +0 -91
package/README.md CHANGED
@@ -1,28 +1,49 @@
1
1
  <p align="center">
2
+ <a href="https://npmjs.org/package/sentry-testkit">
3
+ <img src="https://img.shields.io/npm/v/sentry-testkit.svg" alt="npm version">
4
+ </a>
5
+ <a href="https://npmjs.org/package/sentry-testkit">
6
+ <img src="https://img.shields.io/npm/dm/sentry-testkit.svg" alt="npm downloads">
7
+ </a>
8
+ <a href="https://github.com/wix/sentry-testkit/actions">
9
+ <img src="https://github.com/wix/sentry-testkit/workflows/Test/badge.svg" alt="Test">
10
+ </a>
11
+ </p>
12
+ <p align="center">
13
+ <a href="#">
14
+ <img src="https://img.shields.io/badge/Compatible%20with%20Sentry-v6-blue" alt="sentry version 6">
15
+ </a>
16
+ <a href="#">
17
+ <img src="https://img.shields.io/badge/Compatible%20with%20Sentry-v7-blue" alt="sentry version 7">
18
+ </a>
19
+ </p>
20
+ </p>
21
+ <p align="center">
22
+ <a href="https://wix.github.io/sentry-testkit/">
2
23
  <img alt="sentry-teskit" src="./docs/logo/Sentry_github.svg" height="132">
24
+ </a>
3
25
  </p>
4
26
 
5
-
6
- [![npm version](https://img.shields.io/npm/v/sentry-testkit.svg)](https://npmjs.org/package/sentry-testkit)
7
- [![npm downloads](https://img.shields.io/npm/dm/sentry-testkit.svg)](https://npmjs.org/package/sentry-testkit)
8
- [![Test](https://github.com/wix/sentry-testkit/workflows/Test/badge.svg)](https://github.com/wix/sentry-testkit/actions)
9
- ![sentry version 6](https://img.shields.io/badge/Compatible%20with%20Sentry-v6-blue)
10
- ![sentry version 7](https://img.shields.io/badge/Compatible%20with%20Sentry-v7-blue)
11
-
12
27
  Sentry is an open-source JavaScript SDK published by [Sentry](https://sentry.io/welcome/) to enable error tracking that helps developers monitor and fix crashes in real time.<br>
13
- However, when building tests for your application, you want to assert that the right flow-tracking or error is being sent to *Sentry*, **but** without really sending it to *Sentry* servers. This way you won't swamp Sentry with false reports during test running and other CI operations.
28
+ However, when building tests for your application, you want to assert that the right flow-tracking or error is being sent to _Sentry_, **but** without really sending it to _Sentry_ servers. This way you won't swamp Sentry with false reports during test running and other CI operations.
14
29
 
15
30
  ## Sentry Testkit - to the rescue
16
- *Sentry Testkit* enables Sentry to work natively in your application, and by overriding the default Sentry transport mechanism, the report is not really sent but rather logged locally into memory. In this way, the logged reports can be fetched later for your own usage, verification, or any other use you may have in your local developing/testing environment.
17
31
 
32
+ _Sentry Testkit_ enables Sentry to work natively in your application, and by overriding the default Sentry transport mechanism, the report is not really sent but rather logged locally into memory. In this way, the logged reports can be fetched later for your own usage, verification, or any other use you may have in your local developing/testing environment.
18
33
 
19
- ## Usage
20
- ### Installation
34
+ ## Installation
35
+
36
+ **npm:**
21
37
  ```
22
38
  npm install sentry-testkit --save-dev
23
39
  ```
40
+ **yarn:**
41
+ ```
42
+ yarn add sentry-testkit --dev
43
+ ```
24
44
 
25
45
  ## Usage
46
+
26
47
  ```javascript
27
48
  // some.spec.js
28
49
  const sentryTestkit = require('sentry-testkit')
@@ -36,102 +57,44 @@ Sentry.init({
36
57
  //... other configurations
37
58
  })
38
59
 
39
- test('something', function () {
60
+ test('collect error events', function () {
40
61
  // run any scenario that eventually calls Sentry.captureException(...)
41
62
  expect(testkit.reports()).toHaveLength(1)
42
63
  const report = testkit.reports()[0]
43
64
  expect(report).toHaveProperty(...)
44
65
  });
45
- ```
46
-
47
- ### Working with []() [Jest](https://jestjs.io/en/)
48
- We've added a new option to integrate `sentry-testkit` with `jest`'s mocking mechanism. Detailed implementation can be seen [here](https://github.com/wix/sentry-testkit/blob/master/src/jestMock.js).
49
-
50
- At the moment it is available only to `@sentry/browser` package but we will expand to more packages as we should figure out how to do it right for all Sentry's client packages.
51
-
52
- If you're using `Jest` for testing, all you have to do in your `spec.js` file is to import the Jest mock.
53
- ```javascript
54
- // some.spec.js
55
- import { testkit } from 'sentry-testkit/dist/jestMock';
56
66
 
57
- test('something', function () {
58
- // click
59
- // clack
60
- // BOOM!
61
- expect(testkit.reports().length).toBeGreaterThan(0);
67
+ // Similarly for performance events
68
+ test('collect performance events', function () {
69
+ // run any scenario that eventually calls Sentry.startTransaction(...)
70
+ expect(testkit.transactions()).toHaveLength(1)
62
71
  });
63
72
  ```
64
- > Make sure to put your `import` statement before all other imports.
65
73
 
66
- ## Network interception support
67
- Instead of modifying your application code, you can use network interception libraries in conjunction with the testkit.\
68
- Example with [nock](https://github.com/nock/nock):
69
- ```javascript
70
-
71
- const nock = require('nock')
72
- const sentryTestkit = require('sentry-testkit')
73
- const { testkit, initNetworkInterceptor } = sentryTestkit()
74
-
75
- beforeAll(() => {
76
- const myAppDSN = '<your DSN goes here>'
77
- initNetworkInterceptor(myAppDSN, (baseUrl, handleRequestBody) => {
78
- // This callback is where we init our interceptor.
79
- // The interceptor should intercept requests from `baseUrl` and pass the
80
- // request body (as json) to the `handleRequestBody` function.
81
- nock(baseUrl)
82
- .persist()
83
- .post(/.*/)
84
- .reply(200, (_, requestBody) => {
85
- handleRequestBody(requestBody)
86
- })
87
- })
88
- })
74
+ ## Testkit API
89
75
 
90
- test('findReport example', async function() {
91
- const err = new Error('error to look for')
76
+ See full API description and documentation here: https://wix.github.io/sentry-testkit/
92
77
 
93
- // Some faulty scenario that will report err
78
+ ## Running in browser
94
79
 
95
- const report = testkit.findReport(err)
96
- expect(report).toBeDefined()
97
- })
98
- ```
80
+ `sentry-testkit` relies on `express` and `http` packages from NodeJS. We have separated entry `sentry-testkit/browser` where we not include any NodeJS-related code.
99
81
 
100
- ## Yes! We 💙 [Puppeteer](https://pptr.dev/)
101
82
  ```javascript
102
- const sentryTestkit = require('sentry-testkit')
103
-
104
- const {testkit} = sentryTestkit()
105
-
106
- testkit.puppeteer.startListening(page);
107
-
108
- // Run any scenario that will call Sentry.captureException(...), for example:
109
- await page.addScriptTag({ content: `throw new Error('An error');` });
110
-
111
- expect(testKit.reports()).toHaveLength(1)
112
- const report = testKit.reports()[0]
113
- expect(report).toHaveProperty(...)
83
+ const sentryTestkit = require('sentry-testkit/browser')
114
84
 
115
- testkit.puppeteer.stopListening(page);
85
+ const { testkit } = sentryTestkit()
86
+ // Your code for browser
116
87
  ```
117
88
 
118
- You may see more usage examples in the testing section of this repository as well.
119
-
120
- ## Test Kit API
121
- See full API description and documentation here: https://wix.github.io/sentry-testkit/
89
+ ## Raven-Testkit
90
+ The good old legacy `raven-testkit` documentation can be found [here](LEGACY_API.md). It it still there to serve `Raven` which is the old legacy SDK of _Sentry_ for JavaScript/Node.js platforms
122
91
 
123
- ## What About Nodejs?
124
- **Of Course!**
125
- `sentry-testkit` have full support in both `@sentry/browser` and `@sentry/node` since they have the same API and lifecycle under the hood.
92
+ ## Change Log
93
+ We're constantly and automatically updating our [CHANGELOG](./CHANGELOG.md) file, so its always a good spot to checkout what have we been up to...
126
94
 
127
- ## Raven-Testkit
128
- The good old legacy `raven-testkit` documentation can be found [here](LEGACY_API.md). It it still there to serve `Raven` which is the old legacy SDK of *Sentry* for JavaScript/Node.js platforms
95
+ ## Contribution
96
+ We'd love any kind of contribution, to get better, improve our capabilities, fix bugs and bring more features as Sentry expanding their tools as well. Please check our [CONTRIBUTING](./CONTRIBUTING.md) guidelines for more info and how to get started.
129
97
 
130
- ## Running in browser
131
- `sentry-testkit` relies on `express` and `http` packages from NodeJS. We have separated entry `sentry-testkit/browser` where we not include any NodeJS-related code.
132
- ```javascript
133
- const sentryTestkit = require('sentry-testkit/browser');
98
+ ## License
134
99
 
135
- const {testkit} = sentryTestkit()
136
- // Your code for browser
137
- ```
100
+ Sentry Testkit is [MIT licensed](./LICENSE).
@@ -0,0 +1,29 @@
1
+ export default function (): {
2
+ sentryTransport: () => {
3
+ captureEvent: (event: import("@sentry/types").Event) => Promise<{
4
+ status: string;
5
+ event: import("@sentry/types").Event;
6
+ }>;
7
+ sendEvent: (event: import("@sentry/types").Event) => Promise<{
8
+ status: string;
9
+ event: import("@sentry/types").Event;
10
+ }>;
11
+ send: (envelope: any) => Promise<void>;
12
+ close: () => Promise<boolean>;
13
+ flush: () => Promise<boolean>;
14
+ };
15
+ testkit: {
16
+ puppeteer: {
17
+ startListening: (page: any, baseUrl?: string) => void;
18
+ stopListening: (page: any) => void;
19
+ };
20
+ reports(): import("./types").Report[];
21
+ transactions(): import("./types").Transaction[];
22
+ reset(): void;
23
+ getExceptionAt(index: number): import("./types").ReportError | undefined;
24
+ findReport(e: import("./types").ReportError): import("./types").Report | undefined;
25
+ isExist(e: import("./types").ReportError): boolean;
26
+ };
27
+ initNetworkInterceptor: any;
28
+ };
29
+ //# sourceMappingURL=browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUb"}
package/dist/browser.js CHANGED
@@ -1,21 +1,17 @@
1
1
  'use strict';
2
-
3
- var _require = require('./testkit'),
4
- createTestkit = _require.createTestkit;
5
-
6
- var _require2 = require('./initNetworkInterceptor'),
7
- createInitNetworkInterceptor = _require2.createInitNetworkInterceptor;
8
-
9
- var _require3 = require('./sentryTransport'),
10
- createSentryTransport = _require3.createSentryTransport;
11
-
12
- module.exports = function () {
13
- var testkit = createTestkit();
14
- var sentryTransport = createSentryTransport(testkit);
15
- var initNetworkInterceptor = createInitNetworkInterceptor(testkit);
16
- return {
17
- sentryTransport: sentryTransport,
18
- testkit: testkit,
19
- initNetworkInterceptor: initNetworkInterceptor
20
- };
21
- };
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var testkit_1 = require("./testkit");
4
+ var initNetworkInterceptor_1 = require("./initNetworkInterceptor");
5
+ var sentryTransport_1 = require("./sentryTransport");
6
+ function default_1() {
7
+ var testkit = (0, testkit_1.createTestkit)();
8
+ var sentryTransport = (0, sentryTransport_1.createSentryTransport)(testkit);
9
+ var initNetworkInterceptor = (0, initNetworkInterceptor_1.createInitNetworkInterceptor)(testkit);
10
+ return {
11
+ sentryTransport: sentryTransport,
12
+ testkit: testkit,
13
+ initNetworkInterceptor: initNetworkInterceptor,
14
+ };
15
+ }
16
+ exports.default = default_1;
17
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,qCAAyC;AACzC,mEAAuE;AACvE,qDAAyD;AAEzD;IACE,IAAM,OAAO,GAAG,IAAA,uBAAa,GAAE,CAAA;IAC/B,IAAM,eAAe,GAAG,IAAA,uCAAqB,EAAC,OAAO,CAAC,CAAA;IACtD,IAAM,sBAAsB,GAAG,IAAA,qDAA4B,EAAC,OAAO,CAAC,CAAA;IAEpE,OAAO;QACL,eAAe,iBAAA;QACf,OAAO,SAAA;QACP,sBAAsB,wBAAA;KACvB,CAAA;AACH,CAAC;AAVD,4BAUC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js CHANGED
@@ -1,26 +1,19 @@
1
- 'use strict';
2
-
3
- var _require = require('./testkit'),
4
- createTestkit = _require.createTestkit;
5
-
6
- var _require2 = require('./localServerApi'),
7
- createLocalServerApi = _require2.createLocalServerApi;
8
-
9
- var _require3 = require('./initNetworkInterceptor'),
10
- createInitNetworkInterceptor = _require3.createInitNetworkInterceptor;
11
-
12
- var _require4 = require('./sentryTransport'),
13
- createSentryTransport = _require4.createSentryTransport;
14
-
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var testkit_1 = require("./testkit");
4
+ var localServerApi_1 = require("./localServerApi");
5
+ var initNetworkInterceptor_1 = require("./initNetworkInterceptor");
6
+ var sentryTransport_1 = require("./sentryTransport");
15
7
  module.exports = function () {
16
- var testkit = createTestkit();
17
- var sentryTransport = createSentryTransport(testkit);
18
- var initNetworkInterceptor = createInitNetworkInterceptor(testkit);
19
- var localServer = createLocalServerApi(testkit);
20
- return {
21
- sentryTransport: sentryTransport,
22
- testkit: testkit,
23
- initNetworkInterceptor: initNetworkInterceptor,
24
- localServer: localServer
25
- };
26
- };
8
+ var testkit = (0, testkit_1.createTestkit)();
9
+ var sentryTransport = (0, sentryTransport_1.createSentryTransport)(testkit);
10
+ var initNetworkInterceptor = (0, initNetworkInterceptor_1.createInitNetworkInterceptor)(testkit);
11
+ var localServer = (0, localServerApi_1.createLocalServerApi)(testkit);
12
+ return {
13
+ sentryTransport: sentryTransport,
14
+ testkit: testkit,
15
+ initNetworkInterceptor: initNetworkInterceptor,
16
+ localServer: localServer,
17
+ };
18
+ };
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,qCAAyC;AACzC,mDAAuD;AACvD,mEAAuE;AACvE,qDAAyD;AAEzD,MAAM,CAAC,OAAO,GAAG;IACf,IAAM,OAAO,GAAG,IAAA,uBAAa,GAAE,CAAA;IAC/B,IAAM,eAAe,GAAG,IAAA,uCAAqB,EAAC,OAAO,CAAC,CAAA;IACtD,IAAM,sBAAsB,GAAG,IAAA,qDAA4B,EAAC,OAAO,CAAC,CAAA;IACpE,IAAM,WAAW,GAAG,IAAA,qCAAoB,EAAC,OAAO,CAAC,CAAA;IAEjD,OAAO;QACL,eAAe,iBAAA;QACf,OAAO,SAAA;QACP,sBAAsB,wBAAA;QACtB,WAAW,aAAA;KACZ,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ declare const parseDsn: any, parseEnvelopeRequest: any;
2
+ declare const transformReport: any, transformTransaction: any;
3
+ declare const createInitNetworkInterceptor: (testkit: any) => (dsn: any, cb: any) => any;
4
+ //# sourceMappingURL=initNetworkInterceptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initNetworkInterceptor.d.ts","sourceRoot":"","sources":["../src/initNetworkInterceptor.ts"],"names":[],"mappings":"AAEA,QAAA,MAAQ,QAAQ,OAAE,oBAAoB,KAAyB,CAAA;AAC/D,QAAA,MAAQ,eAAe,OAAE,oBAAoB,KAA8B,CAAA;AAE3E,QAAA,MAAM,4BAA4B,8CAoBjC,CAAA"}
@@ -1,41 +1,24 @@
1
1
  'use strict';
2
-
3
- var _require = require('./parsers'),
4
- parseDsn = _require.parseDsn,
5
- parseEnvelopeRequest = _require.parseEnvelopeRequest;
6
-
7
- var _require2 = require('./transformers'),
8
- transformReport = _require2.transformReport,
9
- transformTransaction = _require2.transformTransaction;
10
-
11
- var createInitNetworkInterceptor = function createInitNetworkInterceptor(testkit) {
12
- return function (dsn, cb) {
13
- var _parseDsn = parseDsn(dsn),
14
- protocol = _parseDsn.protocol,
15
- host = _parseDsn.host;
16
-
17
- var baseUrl = "".concat(protocol, "://").concat(host);
18
-
19
- var handleRequestBody = function handleRequestBody(requestBody) {
20
- return testkit.reports().push(transformReport(requestBody));
2
+ var _a = require('./parsers'), parseDsn = _a.parseDsn, parseEnvelopeRequest = _a.parseEnvelopeRequest;
3
+ var _b = require('./transformers'), transformReport = _b.transformReport, transformTransaction = _b.transformTransaction;
4
+ var createInitNetworkInterceptor = function (testkit) {
5
+ return function (dsn, cb) {
6
+ var _a = parseDsn(dsn), protocol = _a.protocol, host = _a.host;
7
+ var baseUrl = "".concat(protocol, "://").concat(host);
8
+ var handleRequestBody = function (requestBody) {
9
+ return testkit.reports().push(transformReport(requestBody));
10
+ };
11
+ var handleEnvelopeRequestBody = function (requestBody) {
12
+ var _a = parseEnvelopeRequest(requestBody), type = _a.type, payload = _a.payload;
13
+ if (type === 'transaction') {
14
+ testkit.transactions().push(transformTransaction(payload));
15
+ }
16
+ if (type === 'event') {
17
+ testkit.reports().push(transformReport(payload));
18
+ }
19
+ };
20
+ return cb(baseUrl, handleRequestBody, handleEnvelopeRequestBody);
21
21
  };
22
-
23
- var handleEnvelopeRequestBody = function handleEnvelopeRequestBody(requestBody) {
24
- var _parseEnvelopeRequest = parseEnvelopeRequest(requestBody),
25
- type = _parseEnvelopeRequest.type,
26
- payload = _parseEnvelopeRequest.payload;
27
-
28
- if (type === 'transaction') {
29
- testkit.transactions().push(transformTransaction(payload));
30
- }
31
-
32
- if (type === 'event') {
33
- testkit.reports().push(transformReport(payload));
34
- }
35
- };
36
-
37
- return cb(baseUrl, handleRequestBody, handleEnvelopeRequestBody);
38
- };
39
22
  };
40
-
41
- module.exports.createInitNetworkInterceptor = createInitNetworkInterceptor;
23
+ module.exports.createInitNetworkInterceptor = createInitNetworkInterceptor;
24
+ //# sourceMappingURL=initNetworkInterceptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initNetworkInterceptor.js","sourceRoot":"","sources":["../src/initNetworkInterceptor.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEN,IAAA,KAAqC,OAAO,CAAC,WAAW,CAAC,EAAvD,QAAQ,cAAA,EAAE,oBAAoB,0BAAyB,CAAA;AACzD,IAAA,KAA4C,OAAO,CAAC,gBAAgB,CAAC,EAAnE,eAAe,qBAAA,EAAE,oBAAoB,0BAA8B,CAAA;AAE3E,IAAM,4BAA4B,GAAG,UAAA,OAAO;IAC1C,OAAO,UAAC,GAAG,EAAE,EAAE;QACP,IAAA,KAAqB,QAAQ,CAAC,GAAG,CAAC,EAAhC,QAAQ,cAAA,EAAE,IAAI,UAAkB,CAAA;QACxC,IAAM,OAAO,GAAG,UAAG,QAAQ,gBAAM,IAAI,CAAE,CAAA;QACvC,IAAM,iBAAiB,GAAG,UAAA,WAAW;YACnC,OAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAApD,CAAoD,CAAA;QACtD,IAAM,yBAAyB,GAAG,UAAA,WAAW;YACrC,IAAA,KAAoB,oBAAoB,CAAC,WAAW,CAAC,EAAnD,IAAI,UAAA,EAAE,OAAO,aAAsC,CAAA;YAE3D,IAAI,IAAI,KAAK,aAAa,EAAE;gBAC1B,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAA;aAC3D;YAED,IAAI,IAAI,KAAK,OAAO,EAAE;gBACpB,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAA;aACjD;QACH,CAAC,CAAA;QAED,OAAO,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,CAAC,CAAA;IAClE,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,OAAO,CAAC,4BAA4B,GAAG,4BAA4B,CAAA"}
@@ -0,0 +1,4 @@
1
+ declare const Sentry: any;
2
+ declare const sentryTestkit: any;
3
+ declare const testkit: any, sentryTransport: any;
4
+ //# sourceMappingURL=jestMock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jestMock.d.ts","sourceRoot":"","sources":["../src/jestMock.ts"],"names":[],"mappings":"AACA,QAAA,MAAM,MAAM,KAA6B,CAAA;AACzC,QAAA,MAAM,aAAa,KAAqB,CAAA;AAExC,QAAA,MAAQ,OAAO,OAAE,eAAe,KAAoB,CAAA"}
package/dist/jestMock.js CHANGED
@@ -1,20 +1,13 @@
1
1
  'use strict';
2
-
3
2
  var Sentry = require('@sentry/browser');
4
-
5
3
  var sentryTestkit = require('./index');
6
-
7
- var _sentryTestkit = sentryTestkit(),
8
- testkit = _sentryTestkit.testkit,
9
- sentryTransport = _sentryTestkit.sentryTransport;
10
-
4
+ var _a = sentryTestkit(), testkit = _a.testkit, sentryTransport = _a.sentryTransport;
11
5
  jest.mock('@sentry/browser', function () {
12
- return Object.assign({}, Sentry, {
13
- init: function init(options) {
14
- return Sentry.init(Object.assign({}, options, {
15
- transport: sentryTransport
16
- }));
17
- }
18
- });
6
+ return Object.assign({}, Sentry, {
7
+ init: function (options) {
8
+ return Sentry.init(Object.assign({}, options, { transport: sentryTransport }));
9
+ },
10
+ });
19
11
  });
20
- module.exports.testkit = testkit;
12
+ module.exports.testkit = testkit;
13
+ //# sourceMappingURL=jestMock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jestMock.js","sourceRoot":"","sources":["../src/jestMock.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,IAAM,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;AACzC,IAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;AAElC,IAAA,KAA+B,aAAa,EAAE,EAA5C,OAAO,aAAA,EAAE,eAAe,qBAAoB,CAAA;AAEpD,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;IAC3B,OAAA,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE;QACxB,IAAI,EAAE,UAAA,OAAO;YACX,OAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;QAAvE,CAAuE;KAC1E,CAAC;AAHF,CAGE,CACH,CAAA;AAED,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAA"}
@@ -0,0 +1,11 @@
1
+ declare const express: any;
2
+ declare const bodyParser: any;
3
+ declare const http: any;
4
+ declare const parseDsn: any, parseEnvelopeRequest: any;
5
+ declare const transformReport: any, transformTransaction: any;
6
+ declare const createLocalServerApi: (testkit: any) => {
7
+ start: (userDsn: any) => Promise<unknown>;
8
+ stop: () => Promise<unknown>;
9
+ getDsn: () => any;
10
+ };
11
+ //# sourceMappingURL=localServerApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localServerApi.d.ts","sourceRoot":"","sources":["../src/localServerApi.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,OAAO,KAAqB,CAAA;AAClC,QAAA,MAAM,UAAU,KAAyB,CAAA;AACzC,QAAA,MAAM,IAAI,KAAkB,CAAA;AAE5B,QAAA,MAAQ,QAAQ,OAAE,oBAAoB,KAAyB,CAAA;AAC/D,QAAA,MAAQ,eAAe,OAAE,oBAAoB,KAA8B,CAAA;AAE3E,QAAA,MAAM,oBAAoB;;;;CAgGzB,CAAA"}