@@ -3,7 +3,12 @@ import { DebugMeta, Event, SentryRequest, TransactionSamplingMethod } from '@sen
3
3
import { API } from '../../src/api' ;
4
4
import { eventToSentryRequest , sessionToSentryRequest } from '../../src/request' ;
5
5
6
- const api = new API ( 'https://[email protected] /12312012' , {
6
+ const ingestDsn = 'https://[email protected] /12312012' ;
7
+ const ingestUrl =
8
+ 'https://squirrelchasers.ingest.sentry.io/api/12312012/envelope/?sentry_key=dogsarebadatkeepingsecrets&sentry_version=7' ;
9
+ const tunnel = 'https://hello.com/world' ;
10
+
11
+ const api = new API ( ingestDsn , {
7
12
sdk : {
8
13
integrations : [ 'AWSLambda' ] ,
9
14
name : 'sentry.javascript.browser' ,
12
17
} ,
13
18
} ) ;
14
19
15
- const ingestDsn = 'https://[email protected] /12312012' ;
16
- const tunnel = 'https://hello.com/world' ;
17
-
18
20
function parseEnvelopeRequest ( request : SentryRequest ) : any {
19
21
const [ envelopeHeaderString , itemHeaderString , eventString ] = request . body . split ( '\n' ) ;
20
22
@@ -26,19 +28,9 @@ function parseEnvelopeRequest(request: SentryRequest): any {
26
28
}
27
29
28
30
describe ( 'eventToSentryRequest' , ( ) => {
29
- let api : API ;
30
31
let event : Event ;
31
32
32
33
beforeEach ( ( ) => {
33
- api = new API ( ingestDsn , {
34
- sdk : {
35
- integrations : [ 'AWSLambda' ] ,
36
- name : 'sentry.javascript.browser' ,
37
- version : `12.31.12` ,
38
- packages : [ { name : 'npm:@sentry/browser' , version : `12.31.12` } ] ,
39
- } ,
40
- } ) ;
41
-
42
34
event = {
43
35
contexts : { trace : { trace_id : '1231201211212012' , span_id : '12261980' , op : 'pageload' } } ,
44
36
environment : 'dogpark' ,
@@ -140,17 +132,15 @@ describe('eventToSentryRequest', () => {
140
132
} ) ;
141
133
142
134
it ( 'uses tunnel as the url if it is configured' , ( ) => {
143
- api = new API ( ingestDsn , { } , tunnel ) ;
135
+ const tunnelRequest = eventToSentryRequest ( event , new API ( ingestDsn , { } , tunnel ) ) ;
136
+ expect ( tunnelRequest . url ) . toEqual ( tunnel ) ;
144
137
145
- const result = eventToSentryRequest ( event , api ) ;
146
-
147
- expect ( result . url ) . toEqual ( tunnel ) ;
138
+ const defaultRequest = eventToSentryRequest ( event , new API ( ingestDsn , { } ) ) ;
139
+ expect ( defaultRequest . url ) . toEqual ( ingestUrl ) ;
148
140
} ) ;
149
141
150
142
it ( 'adds dsn to envelope header if tunnel is configured' , ( ) => {
151
- api = new API ( ingestDsn , { } , tunnel ) ;
152
-
153
- const result = eventToSentryRequest ( event , api ) ;
143
+ const result = eventToSentryRequest ( event , new API ( ingestDsn , { } , tunnel ) ) ;
154
144
const envelope = parseEnvelopeRequest ( result ) ;
155
145
156
146
expect ( envelope . envelopeHeader ) . toEqual (
@@ -161,10 +151,9 @@ describe('eventToSentryRequest', () => {
161
151
} ) ;
162
152
163
153
it ( 'adds default "event" item type to item header if tunnel is configured' , ( ) => {
164
- api = new API ( ingestDsn , { } , tunnel ) ;
165
154
delete event . type ;
166
155
167
- const result = eventToSentryRequest ( event , api ) ;
156
+ const result = eventToSentryRequest ( event , new API ( ingestDsn , { } , tunnel ) ) ;
168
157
const envelope = parseEnvelopeRequest ( result ) ;
169
158
170
159
expect ( envelope . itemHeader ) . toEqual (
@@ -202,4 +191,23 @@ describe('sessionToSentryRequest', () => {
202
191
} ) ,
203
192
) ;
204
193
} ) ;
194
+
195
+ it ( 'uses tunnel as the url if it is configured' , ( ) => {
196
+ const tunnelRequest = sessionToSentryRequest ( { aggregates : [ ] } , new API ( ingestDsn , { } , tunnel ) ) ;
197
+ expect ( tunnelRequest . url ) . toEqual ( tunnel ) ;
198
+
199
+ const defaultRequest = sessionToSentryRequest ( { aggregates : [ ] } , new API ( ingestDsn , { } ) ) ;
200
+ expect ( defaultRequest . url ) . toEqual ( ingestUrl ) ;
201
+ } ) ;
202
+
203
+ it ( 'adds dsn to envelope header if tunnel is configured' , ( ) => {
204
+ const result = sessionToSentryRequest ( { aggregates : [ ] } , new API ( ingestDsn , { } , tunnel ) ) ;
205
+ const envelope = parseEnvelopeRequest ( result ) ;
206
+
207
+ expect ( envelope . envelopeHeader ) . toEqual (
208
+ expect . objectContaining ( {
209
+ dsn : ingestDsn ,
210
+ } ) ,
211
+ ) ;
212
+ } ) ;
205
213
} ) ;
0 commit comments