File tree Expand file tree Collapse file tree 1 file changed +20
-0
lines changed Expand file tree Collapse file tree 1 file changed +20
-0
lines changed Original file line number Diff line number Diff line change @@ -135,5 +135,25 @@ describe("ipService", () => {
135135 assert . isTrue ( logger . traceOutput . indexOf ( errMsgForMyipCom ) !== - 1 , `Trace output\n'${ logger . traceOutput } '\ndoes not contain expected message:\n${ errMsgForMyipCom } ` ) ;
136136 assert . isTrue ( logger . traceOutput . indexOf ( errMsgForIpifyOrg ) !== - 1 , `Trace output\n'${ logger . traceOutput } '\ndoes not contain expected message:\n${ errMsgForMyipCom } ` ) ;
137137 } ) ;
138+
139+ it ( "is called only once per process" , async ( ) => {
140+ const testInjector = createTestInjector ( ) ;
141+ const httpClient = testInjector . resolve < Server . IHttpClient > ( "httpClient" ) ;
142+ let httpRequestCounter = 0 ;
143+ httpClient . httpRequest = async ( options : any , proxySettings ?: IProxySettings ) : Promise < Server . IResponse > => {
144+ httpRequestCounter ++ ;
145+ return < any > { body : JSON . stringify ( { ip } ) } ;
146+ } ;
147+
148+ const ipService = testInjector . resolve < IIPService > ( "ipService" ) ;
149+
150+ const ipAddress = await ipService . getCurrentIPv4Address ( ) ;
151+ assert . equal ( httpRequestCounter , 1 ) ;
152+ assert . equal ( ipAddress , ip ) ;
153+
154+ const ipAddress2 = await ipService . getCurrentIPv4Address ( ) ;
155+ assert . equal ( httpRequestCounter , 1 ) ;
156+ assert . equal ( ipAddress2 , ip ) ;
157+ } ) ;
138158 } ) ;
139159} ) ;
You can’t perform that action at this time.
0 commit comments