You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
2.1 KiB

var test = require("tap").test
// var server = require("./lib/server.js")
var Client = require("../")
test("defaulted initialization", function (t) {
var client = new Client()
var options = client.initialize(
"http://localhost:1337/",
"GET",
"application/json",
{}
)
t.equal(options.url, "http://localhost:1337/", "URLs match")
t.equal(options.method, "GET", "methods match")
t.equal(options.proxy, undefined, "proxy won't overwrite environment")
t.equal(options.localAddress, undefined, "localAddress has no default value")
t.equal(options.strictSSL, true, "SSL is strict by default")
t.equal(options.headers.accept, "application/json", "accept header set")
t.equal(
options.headers.version,
require("../package.json").version,
"npm-registry-client version is present in headers"
)
t.ok(options.headers["npm-session"], "request ID generated")
t.ok(options.headers["user-agent"], "user-agent preset")
var HttpAgent = require("http").Agent
t.ok(options.agent instanceof HttpAgent, "got an HTTP agent for an HTTP URL")
t.end()
})
test("referer set on client", function (t) {
var client = new Client()
client.refer = "xtestx"
var options = client.initialize(
"http://localhost:1337/",
"GET",
"application/json",
{}
)
t.equal(options.headers.referer, "xtestx", "referer header set")
t.end()
})
test("initializing with proxy explicitly disabled", function (t) {
var client = new Client({ proxy : { http : false }})
var options = client.initialize(
"http://localhost:1337/",
"GET",
"application/json",
{}
)
t.ok("proxy" in options, "proxy overridden by explicitly setting to false")
t.equal(options.proxy, null, "request will override proxy when empty proxy passed in")
t.end()
})
test("initializing with proxy undefined", function (t) {
var client = new Client({ proxy : { http : undefined }})
var options = client.initialize(
"http://localhost:1337/",
"GET",
"application/json",
{}
)
t.notOk("proxy" in options, "proxy can be read from env.PROXY by request")
t.end()
})