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.
 
 

96 lines
2.1 KiB

var logging = require('../../../helper/logging');
module.exports.tests = {};
module.exports.tests.dnt = function(test) {
test('DNT=1 triggers DNT detection', function(t) {
var req = {
headers: {
DNT: '1'
}
};
t.ok(logging.isDNT(req), 'DNT detected');
t.end();
});
test('DNT=0 triggers DNT detection', function(t) {
// because this is common apparently, although the spec says to do the opposite
// see https://en.wikipedia.org/wiki/Do_Not_Track
var req = {
headers: {
DNT: '0'
}
};
t.ok(logging.isDNT(req), 'DNT detected');
t.end();
});
test('do_not_track header triggers DNT detection', function(t) {
// according to @riordan, some people use this too
var req = {
headers: {
do_not_track: '1'
}
};
t.ok(logging.isDNT(req), 'DNT detected');
t.end();
});
test('no DNT or do_not_track header does not trigger DNT detection', function(t) {
var req = {
headers: {
'Accept-Charset': 'utf-8'
}
};
t.notOk(logging.isDNT(req), 'DNT detected');
t.end();
});
};
module.exports.tests.field_removal = function(test) {
test('removes multiple fields that may have sensitive information', function(t) {
var query = {
text: 'possibly sensitive text',
'point.lat': 'possibly sensitive location info'
};
var cleaned_query = logging.removeFields(query);
var expected = {
text: '[removed]',
'point.lat': '[removed]'
};
t.deepEquals(cleaned_query, expected, 'multiple sensitive fields removed');
t.end();
});
test('non-sensitive fields untouched', function(t) {
var query = {
sources: 'wof,gn'
};
var cleaned_query = logging.removeFields(query);
var expected = {
sources: 'wof,gn'
};
t.deepEquals(cleaned_query, expected, 'non-sensitive fields are not touched');
t.end();
});
};
module.exports.all = function (tape, common) {
function test(name, testFunction) {
return tape('logging: ' + name, testFunction);
}
for( var testCase in module.exports.tests ){
module.exports.tests[testCase](test, common);
}
};