diff --git a/lib/core/resolvers/GitResolver.js b/lib/core/resolvers/GitResolver.js index cf66d3c4..aa41ef29 100644 --- a/lib/core/resolvers/GitResolver.js +++ b/lib/core/resolvers/GitResolver.js @@ -26,6 +26,7 @@ function GitResolver(decEndpoint, config, logger) { // anyway mkdirp.sync(config.storage.empty); process.env.GIT_TEMPLATE_DIR = config.storage.empty; + process.env.GIT_SSL_NO_VERIFY = (!config.strictSsl).toString(); Resolver.call(this, decEndpoint, config, logger); diff --git a/test/core/resolvers/gitResolver.js b/test/core/resolvers/gitResolver.js index 0db33889..4d7eba27 100644 --- a/test/core/resolvers/gitResolver.js +++ b/test/core/resolvers/gitResolver.js @@ -15,6 +15,7 @@ var defaultConfig = require('../../../lib/config'); describe('GitResolver', function () { var tempDir = path.resolve(__dirname, '../../tmp/tmp'); var originalrefs = GitResolver.refs; + var originalEnv = process.env; var logger; before(function () { @@ -23,6 +24,7 @@ describe('GitResolver', function () { afterEach(function () { logger.removeAllListeners(); + process.env = originalEnv; }); function clearResolverRuntimeCache() { @@ -41,6 +43,24 @@ describe('GitResolver', function () { describe('misc', function () { it.skip('should error out if git is not installed'); it.skip('should setup git template dir to an empty folder'); + it('should set process.env.GIT_SSL_NO_VERIFY when strictSSL is false', function () { + var resolver; + var decEndpoint = { source: 'foo'}; + + expect(process.env).to.not.have.property('GIT_SSL_NO_VERIFY'); + + resolver = new GitResolver(decEndpoint, defaultConfig(), logger); + expect(process.env).to.have.property('GIT_SSL_NO_VERIFY','false'); + delete process.env.GIT_SSL_NO_VERIFY; + + resolver = new GitResolver(decEndpoint, defaultConfig({strictSsl: false}), logger); + expect(process.env).to.have.property('GIT_SSL_NO_VERIFY','true'); + delete process.env.GIT_SSL_NO_VERIFY; + + resolver = new GitResolver(decEndpoint, defaultConfig({strictSsl: true}), logger); + expect(process.env).to.have.property('GIT_SSL_NO_VERIFY','false'); + delete process.env.GIT_SSL_NO_VERIFY; + }); }); describe('.hasNew', function () {