mirror of
https://github.com/wekan/wekan.git
synced 2025-12-30 22:28:49 +01:00
66 lines
1.6 KiB
JavaScript
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');
|
|
});
|
|
|