Skip to content
This repository has been archived by the owner on Aug 30, 2021. It is now read-only.

Adding support for configurable session expiration time #803

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions config/env/default.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ module.exports = {
port: process.env.PORT || 3000,
templateEngine: 'swig',
// Session details
// session expiration is set by default to 24 hours
sessionExpiration: 24 * (60 * 1000),
// sessionSecret should be changed for security measures and concerns
sessionSecret: 'MEAN',
// sessionKey is set to the generic sessionId key used by PHP applications
Expand Down
3 changes: 3 additions & 0 deletions config/lib/express.js
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,9 @@ module.exports.initSession = function (app, db) {
app.use(session({
saveUninitialized: true,
resave: true,
cookie: {
maxAge: config.sessionExpiration
},
secret: config.sessionSecret,
key: config.sessionKey,
store: new MongoStore({
Expand Down
255 changes: 255 additions & 0 deletions modules/users/tests/server/user.server.model.tests.js
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,261 @@ describe('User Model Unit Tests:', function () {

});

describe("User E-mail Validation Tests", function() {
it('should not allow invalid email address - "123"', function (done) {
var _user = new User(user);

_user.email = '123';
_user.save(function (err) {
if (!err) {
_user.remove(function (err_remove) {
should.not.exist(err_remove);
done();
});
} else {
should.exist(err);
done();
}
});

});

it('should not allow invalid email address - "123@123"', function (done) {
var _user = new User(user);

_user.email = '123@123';
_user.save(function (err) {
if (!err) {
_user.remove(function (err_remove) {
should.not.exist(err_remove);
done();
});
} else {
should.exist(err);
done();
}
});

});

it('should not allow invalid email address - "123.com"', function (done) {
var _user = new User(user);

_user.email = '123.com';
_user.save(function (err) {
if (!err) {
_user.remove(function (err_remove) {
should.not.exist(err_remove);
done();
});
} else {
should.exist(err);
done();
}
});

});

it('should not allow invalid email address - "@123.com"', function (done) {
var _user = new User(user);

_user.email = '@123.com';
_user.save(function (err) {
if (!err) {
_user.remove(function (err_remove) {
should.not.exist(err_remove);
done();
});
} else {
should.exist(err);
done();
}
});

});

it('should not allow invalid email address - "abc@[email protected]"', function (done) {
var _user = new User(user);

_user.email = 'abc@[email protected]';
_user.save(function (err) {
if (!err) {
_user.remove(function (err_remove) {
should.not.exist(err_remove);
done();
});
} else {
should.exist(err);
done();
}
});

});

it('should not allow invalid characters in email address - "abc~@#$%^&*()[email protected]"', function (done) {
var _user = new User(user);

_user.email = 'abc~@#$%^&*()[email protected]';
_user.save(function (err) {
if (!err) {
_user.remove(function (err_remove) {
should.not.exist(err_remove);
done();
});
} else {
should.exist(err);
done();
}
});

});

it('should not allow space characters in email address - "abc [email protected]"', function (done) {
var _user = new User(user);

_user.email = 'abc [email protected]';
_user.save(function (err) {
if (!err) {
_user.remove(function (err_remove) {
should.not.exist(err_remove);
done();
});
} else {
should.exist(err);
done();
}
});

});

it('should not allow single quote characters in email address - "abc\'[email protected]"', function (done) {
var _user = new User(user);

_user.email = 'abc\'[email protected]';
_user.save(function (err) {
if (!err) {
_user.remove(function (err_remove) {
should.not.exist(err_remove);
done();
});
} else {
should.exist(err);
done();
}
});

});

it('should not allow doudble quote characters in email address - "abc\"[email protected]"', function (done) {
var _user = new User(user);

_user.email = 'abc\"[email protected]';
_user.save(function (err) {
if (!err) {
_user.remove(function (err_remove) {
should.not.exist(err_remove);
done();
});
} else {
should.exist(err);
done();
}
});

});

it('should not allow double dotted characters in email address - "[email protected]"', function (done) {
var _user = new User(user);

_user.email = '[email protected]';
_user.save(function (err) {
if (!err) {
_user.remove(function (err_remove) {
should.not.exist(err_remove);
done();
});
} else {
should.exist(err);
done();
}
});

});

it('should allow valid email address - "[email protected]"', function (done) {
var _user = new User(user);

_user.email = '[email protected]';
_user.save(function (err) {
if (!err) {
_user.remove(function (err_remove) {
should.not.exist(err_remove);
done();
});
} else {
should.exist(err);
done();
}
});

});

it('should allow valid email address - "[email protected]"', function (done) {
var _user = new User(user);

_user.email = '[email protected]';
_user.save(function (err) {
if (!err) {
_user.remove(function (err_remove) {
should.not.exist(err_remove);
done();
});
} else {
should.exist(err);
done();
}
});

});

it('should allow valid email address - "[email protected]"', function (done) {
var _user = new User(user);

_user.email = '[email protected]';
_user.save(function (err) {
if (!err) {
_user.remove(function (err_remove) {
should.not.exist(err_remove);
done();
});
} else {
should.exist(err);
done();
}
});

});

it('should allow valid email address - "[email protected]"', function (done) {
var _user = new User(user);

_user.email = '[email protected]';
_user.save(function (err) {
if (!err) {
_user.remove(function (err_remove) {
should.not.exist(err_remove);
done();
});
} else {
should.exist(err);
done();
}
});

});

});

after(function (done) {
User.remove().exec(done);
});
Expand Down