File: test-agentOptions.js

package info (click to toggle)
node-request 2.88.1-5
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 928 kB
  • sloc: javascript: 9,744; sh: 46; makefile: 2
file content (51 lines) | stat: -rw-r--r-- 1,249 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
'use strict'

// test-agent.js modifies the process state
// causing these tests to fail when running under single process via tape
if (!process.env.running_under_istanbul) {
  var request = require('../index')
  var http = require('http')
  var server = require('./server')
  var tape = require('tape')

  var s = server.createServer()

  s.on('/', function (req, resp) {
    resp.statusCode = 200
    resp.end('')
  })

  tape('setup', function (t) {
    s.listen(0, function () {
      t.end()
    })
  })

  tape('without agentOptions should use global agent', function (t) {
    var r = request(s.url, function (err, res, body) {
      t.equal(err, null)
      t.equal(res.statusCode, 200)
      t.deepEqual(r.agent, http.globalAgent)
      t.equal(Object.keys(r.pool).length, 0)
      t.end()
    })
  })

  tape('with agentOptions should apply to new agent in pool', function (t) {
    var r = request(s.url, {
      agentOptions: { foo: 'bar' }
    }, function (err, res, body) {
      t.equal(err, null)
      t.equal(res.statusCode, 200)
      t.equal(r.agent.options.foo, 'bar')
      t.equal(Object.keys(r.pool).length, 1)
      t.end()
    })
  })

  tape('cleanup', function (t) {
    s.close(function () {
      t.end()
    })
  })
}