Skip to content

Commit

Permalink
authenticate
Browse files Browse the repository at this point in the history
  • Loading branch information
John-Lin committed Jul 26, 2018
1 parent 41882a0 commit 57426df
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 10 deletions.
3 changes: 2 additions & 1 deletion src/server/core/authenticate.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ func Authenticate(session *mongo.Session, credential entity.LoginCredential) (en
); err != nil {
return entity.User{}, false, err
}
if CheckPasswordHash(credential.Password, authenticatedUser.LoginCredential.Password) {
hashedPassword := authenticatedUser.LoginCredential.Password
if CheckPasswordHash(credential.Password, hashedPassword) {
return authenticatedUser, true, nil
}
return entity.User{}, false, nil
Expand Down
22 changes: 13 additions & 9 deletions src/server/core/authenticate_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,9 @@ func init() {

type AuthenticateTestSuite struct {
suite.Suite
session *mongo.Session
sp *serviceprovider.Container
session *mongo.Session
sp *serviceprovider.Container
plainTextPassword string
}

func (suite *AuthenticateTestSuite) SetupSuite() {
Expand All @@ -31,18 +32,23 @@ func (suite *AuthenticateTestSuite) SetupSuite() {
suite.session = sp.Mongo.NewSession()
suite.sp = sp

suite.plainTextPassword = "@uthentic@te"

hashedPassword, err := HashPassword(suite.plainTextPassword)
suite.NoError(err)

user := entity.User{
ID: bson.NewObjectId(),
LoginCredential: entity.LoginCredential{
Email: "[email protected]",
Password: "@uthentic@te",
Password: hashedPassword,
},
Username: "John Doe",
FirstName: "John",
LastName: "Doe",
PhoneNumber: "091111l111",
}
err := suite.session.Insert(entity.UserCollectionName, &user)
err = suite.session.Insert(entity.UserCollectionName, &user)
suite.NoError(err)
}

Expand All @@ -61,23 +67,21 @@ func TestAuthenticateSuite(t *testing.T) {
func (suite *AuthenticateTestSuite) TestAuthenticate() {
CorrectCred := entity.LoginCredential{
Email: "[email protected]",
Password: "@uthentic@te",
Password: suite.plainTextPassword,
}

user, passed, err := Authenticate(suite.session, CorrectCred)
suite.NoError(err)
suite.True(passed)
suite.Equal(CorrectCred.Email, user.LoginCredential.Email)
}

func (suite *AuthenticateTestSuite) TestFailedAuthenticate() {
hashedPassword, err := HashPassword("@uthentic@te")
WrongCred := entity.LoginCredential{
Email: "[email protected]",
Password: "wrongPasswordOX",
}

user, passed, err := Authenticate(suite.session, WrongCred)
_, passed, err := Authenticate(suite.session, WrongCred)
suite.NoError(err)
suite.False(passed)
suite.Equal(WrongCred.Email, user.LoginCredential.Email)
}

0 comments on commit 57426df

Please sign in to comment.