mirror of
https://github.com/Foltik/Shimapan
synced 2024-12-03 10:59:13 -05:00
Strip tags from usernames and update tests
This commit is contained in:
parent
5ffc93b147
commit
f14fac18ec
@ -10,10 +10,15 @@ var Invite = require('../models/Invite.js');
|
|||||||
|
|
||||||
var passport = require('passport');
|
var passport = require('passport');
|
||||||
|
|
||||||
|
var striptags = require('striptags');
|
||||||
|
|
||||||
function checkUsername(username, callback) {
|
function checkUsername(username, callback) {
|
||||||
|
if (username.length > 30) return callback(null, false);
|
||||||
|
if (striptags(username) !== username) return callback(null, false);
|
||||||
|
|
||||||
User.find({username: username}).limit(1).count(function(err, count) {
|
User.find({username: username}).limit(1).count(function(err, count) {
|
||||||
if (err) return callback(err);
|
if (err) return callback(err);
|
||||||
count === 0 ? callback(null, true) : callback(null, false);
|
(count === 0) ? callback(null, true) : callback(null, false);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -48,7 +53,7 @@ router.post('/register', function(req, res) {
|
|||||||
}
|
}
|
||||||
}, function(err, result) {
|
}, function(err, result) {
|
||||||
if (!result.userCheck) {
|
if (!result.userCheck) {
|
||||||
res.status(401).json({'message': 'Username in use.'});
|
res.status(401).json({'message': 'Invalid username.'});
|
||||||
} else if (!result.inviteCheck.valid) {
|
} else if (!result.inviteCheck.valid) {
|
||||||
res.status(401).json({'message': 'Invalid invite code.'});
|
res.status(401).json({'message': 'Invalid invite code.'});
|
||||||
} else {
|
} else {
|
||||||
|
@ -28,7 +28,7 @@ before(function (done) {
|
|||||||
code: 'TestCode2'
|
code: 'TestCode2'
|
||||||
}, {
|
}, {
|
||||||
code: 'TestCode3',
|
code: 'TestCode3',
|
||||||
exp: new Date() - 1
|
exp: new Date()
|
||||||
}
|
}
|
||||||
], cb);
|
], cb);
|
||||||
}
|
}
|
||||||
|
@ -14,6 +14,9 @@ var app = require('../server');
|
|||||||
var server = app.server;
|
var server = app.server;
|
||||||
var db = app.db;
|
var db = app.db;
|
||||||
|
|
||||||
|
var should = chai.should;
|
||||||
|
var expect = chai.expect;
|
||||||
|
|
||||||
chai.use(http);
|
chai.use(http);
|
||||||
|
|
||||||
//---------------- DATABASE UTIL ----------------//
|
//---------------- DATABASE UTIL ----------------//
|
||||||
@ -80,7 +83,7 @@ var verifyFailedUserRegister = function(user, done) {
|
|||||||
register(user, function (err, res) {
|
register(user, function (err, res) {
|
||||||
res.should.have.status(401);
|
res.should.have.status(401);
|
||||||
res.body.should.be.a('object');
|
res.body.should.be.a('object');
|
||||||
res.body.should.have.property('message').eql('Username in use.');
|
res.body.should.have.property('message').eql('Invalid username.');
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
@ -160,9 +163,9 @@ var verifySuccessfulUpload = function(user, done) {
|
|||||||
loginUpload(user, function(err, res) {
|
loginUpload(user, function(err, res) {
|
||||||
res.should.have.status(200);
|
res.should.have.status(200);
|
||||||
res.body.should.have.be.a('object');
|
res.body.should.have.be.a('object');
|
||||||
|
res.body.should.have.property('url');
|
||||||
res.body.should.have.property('name');
|
res.body.should.have.property('name');
|
||||||
res.body.should.have.property('oname');
|
expect(res.body.name).to.match(/^[a-z]{6}$/);
|
||||||
res.body.should.have.property('created');
|
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user