@@ -14,12 +14,10 @@ import * as stubPlatform from './stubPlatform';
1414
1515describe ( 'EventSender' , ( ) => {
1616 let platform ;
17- let platformWithoutCors ;
1817 const envId = 'env' ;
1918
2019 beforeEach ( ( ) => {
2120 platform = stubPlatform . defaults ( ) ;
22- platformWithoutCors = { ...platform , httpAllowsPost : ( ) => false } ;
2321 } ) ;
2422
2523 function fakeImageCreator ( ) {
@@ -53,7 +51,8 @@ describe('EventSender', () => {
5351 it ( 'should encode events in a single chunk if they fit' , async ( ) => {
5452 const server = platform . testing . http . newServer ( ) ;
5553 const imageCreator = fakeImageCreator ( ) ;
56- const sender = EventSender ( platformWithoutCors , server . url , envId , imageCreator ) ;
54+ const platformWithoutCors = { ...platform , httpAllowsPost : ( ) => false , httpFallbackPing : imageCreator } ;
55+ const sender = EventSender ( platformWithoutCors , server . url , envId ) ;
5756 const event1 = { kind : 'identify' , key : 'userKey1' } ;
5857 const event2 = { kind : 'identify' , key : 'userKey2' } ;
5958 const events = [ event1 , event2 ] ;
@@ -70,7 +69,8 @@ describe('EventSender', () => {
7069 it ( 'should send events in multiple chunks if necessary' , async ( ) => {
7170 const server = platform . testing . http . newServer ( ) ;
7271 const imageCreator = fakeImageCreator ( ) ;
73- const sender = EventSender ( platformWithoutCors , server . url , envId , imageCreator ) ;
72+ const platformWithoutCors = { ...platform , httpAllowsPost : ( ) => false , httpFallbackPing : imageCreator } ;
73+ const sender = EventSender ( platformWithoutCors , server . url , envId ) ;
7474 const events = [ ] ;
7575 for ( let i = 0 ; i < 80 ; i ++ ) {
7676 events . push ( { kind : 'identify' , key : 'thisIsALongUserKey' + i } ) ;
@@ -106,14 +106,29 @@ describe('EventSender', () => {
106106 } ) ;
107107
108108 it ( 'should send custom user-agent header' , async ( ) => {
109+ const options = { sendLDHeaders : true } ;
109110 const server = platform . testing . http . newServer ( ) ;
110111 server . byDefault ( respond ( 202 ) ) ;
111- const sender = EventSender ( platform , server . url , envId ) ;
112+ const sender = EventSender ( platform , server . url , envId , options ) ;
112113 const event = { kind : 'identify' , key : 'userKey' } ;
113114 await sender . sendEvents ( [ event ] , false ) ;
114115
115116 const r = await server . nextRequest ( ) ;
116117 expect ( r . headers [ 'x-launchdarkly-user-agent' ] ) . toEqual ( utils . getLDUserAgentString ( platform ) ) ;
118+ expect ( r . headers [ 'x-launchdarkly-wrapper' ] ) . toBeUndefined ( ) ;
119+ } ) ;
120+
121+ it ( 'should send wrapper info if present' , async ( ) => {
122+ const options = { sendLDHeaders : true , wrapperName : 'FakeSDK' } ;
123+ const server = platform . testing . http . newServer ( ) ;
124+ server . byDefault ( respond ( 202 ) ) ;
125+ const sender = EventSender ( platform , server . url , envId , options ) ;
126+ const event = { kind : 'identify' , key : 'userKey' } ;
127+ await sender . sendEvents ( [ event ] , server . url ) ;
128+
129+ const r = await server . nextRequest ( ) ;
130+ expect ( r . headers [ 'x-launchdarkly-user-agent' ] ) . toEqual ( utils . getLDUserAgentString ( platform ) ) ;
131+ expect ( r . headers [ 'x-launchdarkly-wrapper' ] ) . toEqual ( 'FakeSDK' ) ;
117132 } ) ;
118133
119134 const retryableStatuses = [ 400 , 408 , 429 , 500 , 503 ] ;
0 commit comments