mirror of
https://github.com/overleaf/overleaf.git
synced 2025-03-22 02:04:31 +00:00
renamed TokenGenerator to PasswordResetTokenHandler and added Expire to function name
This commit is contained in:
parent
bf1bb22afd
commit
9c3c57f2a8
4 changed files with 18 additions and 18 deletions
|
@ -1,7 +1,7 @@
|
|||
settings = require("settings-sharelatex")
|
||||
async = require("async")
|
||||
UserGetter = require("../User/UserGetter")
|
||||
TokenGenerator = require("./TokenGenerator")
|
||||
PasswordResetTokenHandler = require("./PasswordResetTokenHandler")
|
||||
EmailHandler = require("../Email/EmailHandler")
|
||||
AuthenticationManager = require("../Authentication/AuthenticationManager")
|
||||
logger = require("logger-sharelatex")
|
||||
|
@ -14,7 +14,7 @@ module.exports =
|
|||
if !user?
|
||||
logger.err email:email, "user could not be found for password reset"
|
||||
return callback("no user found")
|
||||
TokenGenerator.getNewToken user._id, (err, token)->
|
||||
PasswordResetTokenHandler.getNewToken user._id, (err, token)->
|
||||
if err then return callback(err)
|
||||
emailOptions =
|
||||
to : email
|
||||
|
@ -22,7 +22,7 @@ module.exports =
|
|||
EmailHandler.sendEmail "passwordResetRequested", emailOptions, callback
|
||||
|
||||
setNewUserPassword: (token, password, callback)->
|
||||
TokenGenerator.getUserIdFromToken token, (err, user_id)->
|
||||
PasswordResetTokenHandler.getUserIdFromTokenAndExpire token, (err, user_id)->
|
||||
if err then return callback(err)
|
||||
if !user_id?
|
||||
logger.err user_id:user_id, "token for password reset did not find user_id"
|
||||
|
|
|
@ -20,7 +20,7 @@ module.exports =
|
|||
multi.exec (err)->
|
||||
callback(err, token)
|
||||
|
||||
getUserIdFromToken: (token, callback)->
|
||||
getUserIdFromTokenAndExpire: (token, callback)->
|
||||
logger.log token:token, "getting user id from password token"
|
||||
multi = rclient.multi()
|
||||
multi.get buildKey(token)
|
|
@ -12,9 +12,9 @@ describe "PasswordResetHandler", ->
|
|||
|
||||
@settings =
|
||||
siteUrl: "www.sharelatex.com"
|
||||
@TokenGenerator =
|
||||
@PasswordResetTokenHandler =
|
||||
getNewToken:sinon.stub()
|
||||
getUserIdFromToken:sinon.stub()
|
||||
getUserIdFromTokenAndExpire:sinon.stub()
|
||||
@UserGetter =
|
||||
getUser:sinon.stub()
|
||||
@EmailHandler =
|
||||
|
@ -23,7 +23,7 @@ describe "PasswordResetHandler", ->
|
|||
setUserPassword:sinon.stub()
|
||||
@PasswordResetHandler = SandboxedModule.require modulePath, requires:
|
||||
"../User/UserGetter": @UserGetter
|
||||
"./TokenGenerator": @TokenGenerator
|
||||
"./PasswordResetTokenHandler": @PasswordResetTokenHandler
|
||||
"../Email/EmailHandler":@EmailHandler
|
||||
"../Authentication/AuthenticationManager":@AuthenticationManager
|
||||
"settings-sharelatex": @settings
|
||||
|
@ -41,7 +41,7 @@ describe "PasswordResetHandler", ->
|
|||
|
||||
it "should check the user exists", (done)->
|
||||
@UserGetter.getUser.callsArgWith(1)
|
||||
@TokenGenerator.getNewToken.callsArgWith(1)
|
||||
@PasswordResetTokenHandler.getNewToken.callsArgWith(1)
|
||||
@PasswordResetHandler.generateAndEmailResetToken @user.email, (err)=>
|
||||
err.should.exists
|
||||
done()
|
||||
|
@ -50,7 +50,7 @@ describe "PasswordResetHandler", ->
|
|||
it "should send the email with the token", (done)->
|
||||
|
||||
@UserGetter.getUser.callsArgWith(1, null, @user)
|
||||
@TokenGenerator.getNewToken.callsArgWith(1, null, @token)
|
||||
@PasswordResetTokenHandler.getNewToken.callsArgWith(1, null, @token)
|
||||
@EmailHandler.sendEmail.callsArgWith(2)
|
||||
@PasswordResetHandler.generateAndEmailResetToken @user.email, (err)=>
|
||||
@EmailHandler.sendEmail.called.should.equal true
|
||||
|
@ -63,14 +63,14 @@ describe "PasswordResetHandler", ->
|
|||
describe "setNewUserPassword", ->
|
||||
|
||||
it "should return err if no user id can be found", (done)->
|
||||
@TokenGenerator.getUserIdFromToken.callsArgWith(1)
|
||||
@PasswordResetTokenHandler.getUserIdFromTokenAndExpire.callsArgWith(1)
|
||||
@PasswordResetHandler.setNewUserPassword @token, @password, (err)=>
|
||||
err.should.exists
|
||||
@AuthenticationManager.setUserPassword.called.should.equal false
|
||||
done()
|
||||
|
||||
it "should set the user password", (done)->
|
||||
@TokenGenerator.getUserIdFromToken.callsArgWith(1, null, @user_id)
|
||||
@PasswordResetTokenHandler.getUserIdFromTokenAndExpire.callsArgWith(1, null, @user_id)
|
||||
@AuthenticationManager.setUserPassword.callsArgWith(2)
|
||||
@PasswordResetHandler.setNewUserPassword @token, @password, (err)=>
|
||||
@AuthenticationManager.setUserPassword.calledWith(@user_id, @password).should.equal true
|
||||
|
|
|
@ -3,10 +3,10 @@ SandboxedModule = require('sandboxed-module')
|
|||
assert = require('assert')
|
||||
path = require('path')
|
||||
sinon = require('sinon')
|
||||
modulePath = path.join __dirname, "../../../../app/js/Features/PasswordReset/TokenGenerator"
|
||||
modulePath = path.join __dirname, "../../../../app/js/Features/PasswordReset/PasswordResetTokenHandler"
|
||||
expect = require("chai").expect
|
||||
|
||||
describe "TokenGenerator", ->
|
||||
describe "PasswordResetTokenHandler", ->
|
||||
|
||||
beforeEach ->
|
||||
@user_id = "user id here"
|
||||
|
@ -23,7 +23,7 @@ describe "TokenGenerator", ->
|
|||
exec:sinon.stub()
|
||||
@uuid = v4 : -> return @stubbedToken
|
||||
self = @
|
||||
@TokenGenerator = SandboxedModule.require modulePath, requires:
|
||||
@PasswordResetTokenHandler = SandboxedModule.require modulePath, requires:
|
||||
"redis" :
|
||||
createClient: =>
|
||||
auth:->
|
||||
|
@ -38,23 +38,23 @@ describe "TokenGenerator", ->
|
|||
|
||||
it "should set a new token into redis with a ttl", (done)->
|
||||
@redisMulti.exec.callsArgWith(0)
|
||||
@TokenGenerator.getNewToken @user_id, (err, token)=>
|
||||
@PasswordResetTokenHandler.getNewToken @user_id, (err, token)=>
|
||||
@redisMulti.set "password_token:#{@stubbedToken}", @user_id
|
||||
@redisMulti.expire "password_token:#{@stubbedToken}", 60 * 60
|
||||
done()
|
||||
|
||||
it "should return if there was an error", (done)->
|
||||
@redisMulti.exec.callsArgWith(0, "error")
|
||||
@TokenGenerator.getNewToken @user_id, (err, token)=>
|
||||
@PasswordResetTokenHandler.getNewToken @user_id, (err, token)=>
|
||||
err.should.exist
|
||||
done()
|
||||
|
||||
|
||||
describe "getUserIdFromToken", ->
|
||||
describe "getUserIdFromTokenAndExpire", ->
|
||||
|
||||
it "should get and delete the token", (done)->
|
||||
@redisMulti.exec.callsArgWith(0, null, [@user_id])
|
||||
@TokenGenerator.getUserIdFromToken @stubbedToken, (err, user_id)=>
|
||||
@PasswordResetTokenHandler.getUserIdFromTokenAndExpire @stubbedToken, (err, user_id)=>
|
||||
user_id.should.equal @user_id
|
||||
@redisMulti.get.calledWith("password_token:#{@stubbedToken}").should.equal true
|
||||
@redisMulti.del.calledWith("password_token:#{@stubbedToken}").should.equal true
|
Loading…
Reference in a new issue