1
1
import { EventEnvelope } from '@sentry/types' ;
2
- import { TextEncoder } from 'util' ;
2
+ import { TextDecoder , TextEncoder } from 'util' ;
3
3
4
- import { addItemToEnvelope , createEnvelope , forEachEnvelopeItem , serializeEnvelope } from '../src/envelope' ;
5
- import { parseEnvelope } from './testutils' ;
4
+ const encoder = new TextEncoder ( ) ;
5
+ const decoder = new TextDecoder ( ) ;
6
+
7
+ import {
8
+ addItemToEnvelope ,
9
+ createEnvelope ,
10
+ forEachEnvelopeItem ,
11
+ parseEnvelope ,
12
+ serializeEnvelope ,
13
+ } from '../src/envelope' ;
6
14
7
15
describe ( 'envelope' , ( ) => {
8
16
describe ( 'createEnvelope()' , ( ) => {
@@ -18,17 +26,17 @@ describe('envelope', () => {
18
26
} ) ;
19
27
} ) ;
20
28
21
- describe ( 'serializeEnvelope() ' , ( ) => {
29
+ describe ( 'serializeEnvelope and parseEnvelope ' , ( ) => {
22
30
it ( 'serializes an envelope' , ( ) => {
23
31
const env = createEnvelope < EventEnvelope > ( { event_id : 'aa3ff046696b4bc6b609ce6d28fde9e2' , sent_at : '123' } , [ ] ) ;
24
- const serializedEnvelope = serializeEnvelope ( env , new TextEncoder ( ) ) ;
32
+ const serializedEnvelope = serializeEnvelope ( env , encoder ) ;
25
33
expect ( typeof serializedEnvelope ) . toBe ( 'string' ) ;
26
34
27
- const [ headers ] = parseEnvelope ( serializedEnvelope ) ;
35
+ const [ headers ] = parseEnvelope ( serializedEnvelope , encoder , decoder ) ;
28
36
expect ( headers ) . toEqual ( { event_id : 'aa3ff046696b4bc6b609ce6d28fde9e2' , sent_at : '123' } ) ;
29
37
} ) ;
30
38
31
- it ( 'serializes an envelope with attachments' , ( ) => {
39
+ it . only ( 'serializes an envelope with attachments' , ( ) => {
32
40
const items : EventEnvelope [ 1 ] = [
33
41
[ { type : 'event' } , { event_id : 'aa3ff046696b4bc6b609ce6d28fde9e2' } ] ,
34
42
[ { type : 'attachment' , filename : 'bar.txt' , length : 6 } , Uint8Array . from ( [ 1 , 2 , 3 , 4 , 5 , 6 ] ) ] ,
@@ -42,10 +50,10 @@ describe('envelope', () => {
42
50
43
51
expect . assertions ( 6 ) ;
44
52
45
- const serializedEnvelope = serializeEnvelope ( env , new TextEncoder ( ) ) ;
53
+ const serializedEnvelope = serializeEnvelope ( env , encoder ) ;
46
54
expect ( serializedEnvelope ) . toBeInstanceOf ( Uint8Array ) ;
47
55
48
- const [ parsedHeaders , parsedItems ] = parseEnvelope ( serializedEnvelope ) ;
56
+ const [ parsedHeaders , parsedItems ] = parseEnvelope ( serializedEnvelope , encoder , decoder ) ;
49
57
expect ( parsedHeaders ) . toEqual ( { event_id : 'aa3ff046696b4bc6b609ce6d28fde9e2' , sent_at : '123' } ) ;
50
58
expect ( parsedItems ) . toHaveLength ( 3 ) ;
51
59
expect ( items [ 0 ] ) . toEqual ( [ { type : 'event' } , { event_id : 'aa3ff046696b4bc6b609ce6d28fde9e2' } ] ) ;
@@ -68,7 +76,7 @@ describe('envelope', () => {
68
76
[ { type : 'event' } , egg ] ,
69
77
] ) ;
70
78
71
- const serializedEnvelope = serializeEnvelope ( env , new TextEncoder ( ) ) ;
79
+ const serializedEnvelope = serializeEnvelope ( env , encoder ) ;
72
80
const [ , , serializedBody ] = serializedEnvelope . toString ( ) . split ( '\n' ) ;
73
81
74
82
expect ( serializedBody ) . toBe ( '{"chicken":{"egg":"[Circular ~]"}}' ) ;
@@ -78,7 +86,7 @@ describe('envelope', () => {
78
86
describe ( 'addItemToEnvelope()' , ( ) => {
79
87
it ( 'adds an item to an envelope' , ( ) => {
80
88
const env = createEnvelope < EventEnvelope > ( { event_id : 'aa3ff046696b4bc6b609ce6d28fde9e2' , sent_at : '123' } , [ ] ) ;
81
- let [ envHeaders , items ] = parseEnvelope ( serializeEnvelope ( env , new TextEncoder ( ) ) ) ;
89
+ let [ envHeaders , items ] = parseEnvelope ( serializeEnvelope ( env , encoder ) , encoder , decoder ) ;
82
90
expect ( items ) . toHaveLength ( 0 ) ;
83
91
expect ( envHeaders ) . toEqual ( { event_id : 'aa3ff046696b4bc6b609ce6d28fde9e2' , sent_at : '123' } ) ;
84
92
@@ -87,7 +95,7 @@ describe('envelope', () => {
87
95
{ event_id : 'aa3ff046696b4bc6b609ce6d28fde9e2' } ,
88
96
] ) ;
89
97
90
- [ envHeaders , items ] = parseEnvelope ( serializeEnvelope ( newEnv , new TextEncoder ( ) ) ) ;
98
+ [ envHeaders , items ] = parseEnvelope ( serializeEnvelope ( newEnv , encoder ) , encoder , decoder ) ;
91
99
expect ( envHeaders ) . toEqual ( { event_id : 'aa3ff046696b4bc6b609ce6d28fde9e2' , sent_at : '123' } ) ;
92
100
expect ( items ) . toHaveLength ( 1 ) ;
93
101
expect ( items [ 0 ] ) . toEqual ( [ { type : 'event' } , { event_id : 'aa3ff046696b4bc6b609ce6d28fde9e2' } ] ) ;
0 commit comments