57 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
var needle  = require('..'),
 | 
						|
    https   = require('https'),
 | 
						|
    helpers = require('./helpers'),
 | 
						|
    should  = require('should');
 | 
						|
 | 
						|
describe('tls options', function() {
 | 
						|
 | 
						|
  describe('rejectUnauthorized: false', function() {
 | 
						|
 | 
						|
    var url = 'https://expired-rsa-dv.ssl.com/';
 | 
						|
 | 
						|
    it('is an expired cert', function(done) {
 | 
						|
      needle.get(url, function(err, resp) {
 | 
						|
        err.code.should.eql('CERT_HAS_EXPIRED')
 | 
						|
        should.not.exist(resp)
 | 
						|
        done()
 | 
						|
      })
 | 
						|
    })
 | 
						|
 | 
						|
    it('allows fetching pages under expired certificates', function(done) {
 | 
						|
      needle.get(url, { rejectUnauthorized: false }, function(err, resp) {
 | 
						|
        should.not.exist(err);
 | 
						|
        resp.statusCode.should.eql(200);
 | 
						|
        done()
 | 
						|
      })
 | 
						|
    })
 | 
						|
 | 
						|
    it('also works when using custom agent', function(done) {
 | 
						|
      var agent = new https.Agent({ rejectUnauthorized: true })
 | 
						|
 | 
						|
      // should overwrite value from custom agent
 | 
						|
      needle.get(url, { rejectUnauthorized: false }, function(err, resp) {
 | 
						|
        should.not.exist(err);
 | 
						|
        resp.statusCode.should.eql(200);
 | 
						|
        done()
 | 
						|
      })
 | 
						|
 | 
						|
    })
 | 
						|
 | 
						|
    it('also works with shared/default agent', function(done) {
 | 
						|
      var agent = new https.Agent({ rejectUnauthorized: true })
 | 
						|
      needle.defaults({ agent: agent })
 | 
						|
 | 
						|
      // should overwrite value from custom agent
 | 
						|
      needle.get(url, { rejectUnauthorized: false }, function(err, resp) {
 | 
						|
        should.not.exist(err);
 | 
						|
        resp.statusCode.should.eql(200);
 | 
						|
 | 
						|
        needle.defaults({ agent: null })
 | 
						|
        done()
 | 
						|
      })
 | 
						|
 | 
						|
    })
 | 
						|
 | 
						|
  })
 | 
						|
 | 
						|
}) |