diff --git a/lib/Constants.ts b/lib/Constants.ts new file mode 100644 index 00000000..a5a3d222 --- /dev/null +++ b/lib/Constants.ts @@ -0,0 +1,2 @@ +// Used by buildProxyBypassRegexFromEnv for escaping dot symbols in NO_PROXY hosts' strings +export const searchRegExpToReplaceSpecialChars: RegExp = new RegExp('(? { + let regExp = util.buildProxyBypassRegexFromEnv('.intranet'); + assert(regExp, 'regExp should not be null'); + let parsedUrl = url.parse("https://keyvault.vault.azure.net/secrets/test-secret1-intranet"); + let bypassed = regExp.test(parsedUrl.href); + assert.equal(bypassed, false); + }); + + it('bypasses if domain pattern starts with .', () => { + let regExp = util.buildProxyBypassRegexFromEnv('.net'); + assert(regExp, 'regExp should not be null'); + let parsedUrl = url.parse("https://keyvault.vault.azure.net/secrets/test-secret1-intranet"); + let bypassed = regExp.test(parsedUrl.href); + assert.equal(bypassed, true); + }); -}); \ No newline at end of file + it('bypasses if domain pattern starts with . and contains complex domain', () => { + let regExp = util.buildProxyBypassRegexFromEnv('.azure.net'); + assert(regExp, 'regExp should not be null'); + let parsedUrl = url.parse("https://keyvault.vault.azure.net/secrets/test-secret1-intranet"); + let bypassed = regExp.test(parsedUrl.href); + assert.equal(bypassed, true); + }); + }); +});