'use strict'; require('../../support/test_helper'); var assert = require('assert'); var CdbRequest = require('../../../lib/cartodb/models/cdb_request'); describe('req2params', function() { function createRequest(host, userParam) { var req = { params: {}, headers: { host: host } }; if (userParam) { req.params.user = userParam; } return req; } it('extracts name from host header', function() { var cdbRequest = new CdbRequest(); var user = cdbRequest.userByReq(createRequest('localhost')); assert.equal(user, 'localhost'); }); it('extracts name from subdomain host header in case of no config', function() { var userFromHostConfig = global.environment.user_from_host; global.environment.user_from_host = null; var cdbRequest = new CdbRequest(); var user = cdbRequest.userByReq(createRequest('development.localhost.lan')); global.environment.user_from_host = userFromHostConfig; assert.equal(user, 'development'); }); it('considers user param before headers', function() { var cdbRequest = new CdbRequest(); var user = cdbRequest.userByReq(createRequest('localhost', 'development')); assert.equal(user, 'development'); }); it('returns undefined when it cannot extract username', function() { var userFromHostConfig = global.environment.user_from_host; global.environment.user_from_host = null; var cdbRequest = new CdbRequest(); var user = cdbRequest.userByReq(createRequest('localhost')); global.environment.user_from_host = userFromHostConfig; assert.equal(user, undefined); }); it('should not fail for undefined host header', function() { var userFromHostConfig = global.environment.user_from_host; global.environment.user_from_host = null; var cdbRequest = new CdbRequest(); var user = cdbRequest.userByReq(createRequest(undefined)); global.environment.user_from_host = userFromHostConfig; assert.equal(user, undefined); }); it('should not fail for null host header', function() { var userFromHostConfig = global.environment.user_from_host; global.environment.user_from_host = null; var cdbRequest = new CdbRequest(); var user = cdbRequest.userByReq(createRequest(null)); global.environment.user_from_host = userFromHostConfig; assert.equal(user, undefined); }); });