@@ -29,12 +29,16 @@ function assertEnvVarLogMessages(
2929 t : ExecutionContext < any > ,
3030 envVars : string [ ] ,
3131 messages : LoggedMessage [ ] ,
32- expectSet : boolean ,
32+ expectSet : boolean | string ,
3333) {
34- const template = ( envVar : string ) =>
35- expectSet
34+ const template = ( envVar : string ) => {
35+ if ( typeof expectSet === "string" ) {
36+ return `Environment variable '${ envVar } ' is set to '${ expectSet } '` ;
37+ }
38+ return expectSet
3639 ? `Environment variable '${ envVar } ' is set to '${ envVar } '`
3740 : `Environment variable '${ envVar } ' is not set` ;
41+ } ;
3842
3943 const expected : string [ ] = [ ] ;
4044
@@ -145,6 +149,23 @@ test("checkProxyEnvVars - logs values when variables are set", (t) => {
145149 assertEnvVarLogMessages ( t , Object . values ( ProxyEnvVars ) , messages , true ) ;
146150} ) ;
147151
152+ test ( "checkProxyEnvVars - credentials are removed from URLs" , ( t ) => {
153+ const messages : LoggedMessage [ ] = [ ] ;
154+ const logger = getRecordingLogger ( messages ) ;
155+
156+ for ( const envVar of Object . values ( ProxyEnvVars ) ) {
157+ process . env [ envVar ] = "https://secret:password@proxy.local" ;
158+ }
159+
160+ checkProxyEnvVars ( logger ) ;
161+ assertEnvVarLogMessages (
162+ t ,
163+ Object . values ( ProxyEnvVars ) ,
164+ messages ,
165+ "https://proxy.local/" ,
166+ ) ;
167+ } ) ;
168+
148169test ( "checkProxyEnvironment - includes base checks for all known languages" , ( t ) => {
149170 for ( const language of Object . values ( KnownLanguage ) ) {
150171 const messages : LoggedMessage [ ] = [ ] ;
0 commit comments