wekan/packages/wekan-request/tests/test-cookies.js
2021-04-29 13:26:49 +03:00

66 lines
1.6 KiB
JavaScript

try {
require('tough-cookie')
} catch (e) {
console.error('tough-cookie must be installed to run this test.')
console.error('skipping this test. please install tough-cookie and run again if you need to test this feature.')
process.exit(0)
}
var assert = require('assert')
, http = require('http')
, request = require('../index')
function simpleCookieCreationTest() {
var cookie = request.cookie('foo=bar')
assert(cookie.key === 'foo')
assert(cookie.value === 'bar')
}
simpleCookieCreationTest()
var requests = 0;
var validUrl = 'http://localhost:6767/valid';
var invalidUrl = 'http://localhost:6767/invalid';
var server = http.createServer(function (req, res) {
requests++;
if (req.url === '/valid')
res.setHeader('set-cookie', 'foo=bar');
else if (req.url === '/invalid')
res.setHeader('set-cookie', 'foo=bar; Domain=foo.com');
res.end('okay');
if (requests === 2) server.close();
});
server.listen(6767);
var jar1 = request.jar();
request({
method: 'GET',
url: validUrl,
jar: jar1
},
function (error, response, body) {
if (error) throw error;
assert.equal(jar1.getCookieString(validUrl), 'foo=bar');
assert.equal(body, 'okay');
var cookies = jar1.getCookies(validUrl);
assert(cookies.length == 1);
assert(cookies[0].key === 'foo');
assert(cookies[0].value === 'bar');
});
var jar2 = request.jar();
request({
method: 'GET',
url: invalidUrl,
jar: jar2
},
function (error, response, body) {
if (error) throw error;
assert.equal(jar2.getCookieString(validUrl), '');
assert.deepEqual(jar2.getCookies(validUrl), []);
assert.equal(body, 'okay');
});