11import { EventEnvelope } from '@sentry/types' ;
2- import { TextEncoder } from 'util' ;
2+ import { TextDecoder , TextEncoder } from 'util' ;
33
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' ;
614
715describe ( 'envelope' , ( ) => {
816 describe ( 'createEnvelope()' , ( ) => {
@@ -18,17 +26,17 @@ describe('envelope', () => {
1826 } ) ;
1927 } ) ;
2028
21- describe ( 'serializeEnvelope() ' , ( ) => {
29+ describe ( 'serializeEnvelope and parseEnvelope ' , ( ) => {
2230 it ( 'serializes an envelope' , ( ) => {
2331 const env = createEnvelope < EventEnvelope > ( { event_id : 'aa3ff046696b4bc6b609ce6d28fde9e2' , sent_at : '123' } , [ ] ) ;
24- const serializedEnvelope = serializeEnvelope ( env , new TextEncoder ( ) ) ;
32+ const serializedEnvelope = serializeEnvelope ( env , encoder ) ;
2533 expect ( typeof serializedEnvelope ) . toBe ( 'string' ) ;
2634
27- const [ headers ] = parseEnvelope ( serializedEnvelope ) ;
35+ const [ headers ] = parseEnvelope ( serializedEnvelope , encoder , decoder ) ;
2836 expect ( headers ) . toEqual ( { event_id : 'aa3ff046696b4bc6b609ce6d28fde9e2' , sent_at : '123' } ) ;
2937 } ) ;
3038
31- it ( 'serializes an envelope with attachments' , ( ) => {
39+ it . only ( 'serializes an envelope with attachments' , ( ) => {
3240 const items : EventEnvelope [ 1 ] = [
3341 [ { type : 'event' } , { event_id : 'aa3ff046696b4bc6b609ce6d28fde9e2' } ] ,
3442 [ { type : 'attachment' , filename : 'bar.txt' , length : 6 } , Uint8Array . from ( [ 1 , 2 , 3 , 4 , 5 , 6 ] ) ] ,
@@ -42,10 +50,10 @@ describe('envelope', () => {
4250
4351 expect . assertions ( 6 ) ;
4452
45- const serializedEnvelope = serializeEnvelope ( env , new TextEncoder ( ) ) ;
53+ const serializedEnvelope = serializeEnvelope ( env , encoder ) ;
4654 expect ( serializedEnvelope ) . toBeInstanceOf ( Uint8Array ) ;
4755
48- const [ parsedHeaders , parsedItems ] = parseEnvelope ( serializedEnvelope ) ;
56+ const [ parsedHeaders , parsedItems ] = parseEnvelope ( serializedEnvelope , encoder , decoder ) ;
4957 expect ( parsedHeaders ) . toEqual ( { event_id : 'aa3ff046696b4bc6b609ce6d28fde9e2' , sent_at : '123' } ) ;
5058 expect ( parsedItems ) . toHaveLength ( 3 ) ;
5159 expect ( items [ 0 ] ) . toEqual ( [ { type : 'event' } , { event_id : 'aa3ff046696b4bc6b609ce6d28fde9e2' } ] ) ;
@@ -68,7 +76,7 @@ describe('envelope', () => {
6876 [ { type : 'event' } , egg ] ,
6977 ] ) ;
7078
71- const serializedEnvelope = serializeEnvelope ( env , new TextEncoder ( ) ) ;
79+ const serializedEnvelope = serializeEnvelope ( env , encoder ) ;
7280 const [ , , serializedBody ] = serializedEnvelope . toString ( ) . split ( '\n' ) ;
7381
7482 expect ( serializedBody ) . toBe ( '{"chicken":{"egg":"[Circular ~]"}}' ) ;
@@ -78,7 +86,7 @@ describe('envelope', () => {
7886 describe ( 'addItemToEnvelope()' , ( ) => {
7987 it ( 'adds an item to an envelope' , ( ) => {
8088 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 ) ;
8290 expect ( items ) . toHaveLength ( 0 ) ;
8391 expect ( envHeaders ) . toEqual ( { event_id : 'aa3ff046696b4bc6b609ce6d28fde9e2' , sent_at : '123' } ) ;
8492
@@ -87,7 +95,7 @@ describe('envelope', () => {
8795 { event_id : 'aa3ff046696b4bc6b609ce6d28fde9e2' } ,
8896 ] ) ;
8997
90- [ envHeaders , items ] = parseEnvelope ( serializeEnvelope ( newEnv , new TextEncoder ( ) ) ) ;
98+ [ envHeaders , items ] = parseEnvelope ( serializeEnvelope ( newEnv , encoder ) , encoder , decoder ) ;
9199 expect ( envHeaders ) . toEqual ( { event_id : 'aa3ff046696b4bc6b609ce6d28fde9e2' , sent_at : '123' } ) ;
92100 expect ( items ) . toHaveLength ( 1 ) ;
93101 expect ( items [ 0 ] ) . toEqual ( [ { type : 'event' } , { event_id : 'aa3ff046696b4bc6b609ce6d28fde9e2' } ] ) ;
0 commit comments