@ -43,7 +43,7 @@ func TestUserAuth(t *testing.T) {
// By Login
login := "loginuser0"
query := & models . GetUserByAuthInfoQuery { Login : login }
query := & models . GetUserByAuthInfoQuery { UserLookupParams : models . UserLookupParams { Login : & login } }
user , err := srv . LookupAndUpdate ( context . Background ( ) , query )
require . Nil ( t , err )
@ -52,7 +52,9 @@ func TestUserAuth(t *testing.T) {
// By ID
id := user . ID
user , err = srv . LookupByOneOf ( context . Background ( ) , id , "" , "" )
user , err = srv . LookupByOneOf ( context . Background ( ) , & models . UserLookupParams {
UserID : & id ,
} )
require . Nil ( t , err )
require . Equal ( t , user . ID , id )
@ -60,7 +62,9 @@ func TestUserAuth(t *testing.T) {
// By Email
email := "user1@test.com"
user , err = srv . LookupByOneOf ( context . Background ( ) , 0 , email , "" )
user , err = srv . LookupByOneOf ( context . Background ( ) , & models . UserLookupParams {
Email : & email ,
} )
require . Nil ( t , err )
require . Equal ( t , user . Email , email )
@ -68,7 +72,9 @@ func TestUserAuth(t *testing.T) {
// Don't find nonexistent user
email = "nonexistent@test.com"
user , err = srv . LookupByOneOf ( context . Background ( ) , 0 , email , "" )
user , err = srv . LookupByOneOf ( context . Background ( ) , & models . UserLookupParams {
Email : & email ,
} )
require . Equal ( t , models . ErrUserNotFound , err )
require . Nil ( t , user )
@ -85,7 +91,7 @@ func TestUserAuth(t *testing.T) {
// create user_auth entry
login := "loginuser0"
query . Login = login
query . UserLookupParams . Login = & login
user , err = srv . LookupAndUpdate ( context . Background ( ) , query )
require . Nil ( t , err )
@ -99,9 +105,9 @@ func TestUserAuth(t *testing.T) {
require . Equal ( t , user . Login , login )
// get with non-matching id
id := user . ID
idPlusOne := user . ID + 1
query . UserId = id + 1
query . UserLookupParams . UserID = & idPlusOne
user , err = srv . LookupAndUpdate ( context . Background ( ) , query )
require . Nil ( t , err )
@ -143,7 +149,9 @@ func TestUserAuth(t *testing.T) {
login := "loginuser0"
// Calling GetUserByAuthInfoQuery on an existing user will populate an entry in the user_auth table
query := & models . GetUserByAuthInfoQuery { Login : login , AuthModule : "test" , AuthId : "test" }
query := & models . GetUserByAuthInfoQuery { AuthModule : "test" , AuthId : "test" , UserLookupParams : models . UserLookupParams {
Login : & login ,
} }
user , err := srv . LookupAndUpdate ( context . Background ( ) , query )
require . Nil ( t , err )
@ -192,7 +200,9 @@ func TestUserAuth(t *testing.T) {
// Calling srv.LookupAndUpdateQuery on an existing user will populate an entry in the user_auth table
// Make the first log-in during the past
database . GetTime = func ( ) time . Time { return time . Now ( ) . AddDate ( 0 , 0 , - 2 ) }
query := & models . GetUserByAuthInfoQuery { Login : login , AuthModule : "test1" , AuthId : "test1" }
query := & models . GetUserByAuthInfoQuery { AuthModule : "test1" , AuthId : "test1" , UserLookupParams : models . UserLookupParams {
Login : & login ,
} }
user , err := srv . LookupAndUpdate ( context . Background ( ) , query )
database . GetTime = time . Now
@ -202,7 +212,9 @@ func TestUserAuth(t *testing.T) {
// Add a second auth module for this user
// Have this module's last log-in be more recent
database . GetTime = func ( ) time . Time { return time . Now ( ) . AddDate ( 0 , 0 , - 1 ) }
query = & models . GetUserByAuthInfoQuery { Login : login , AuthModule : "test2" , AuthId : "test2" }
query = & models . GetUserByAuthInfoQuery { AuthModule : "test2" , AuthId : "test2" , UserLookupParams : models . UserLookupParams {
Login : & login ,
} }
user , err = srv . LookupAndUpdate ( context . Background ( ) , query )
database . GetTime = time . Now
@ -257,7 +269,9 @@ func TestUserAuth(t *testing.T) {
// Calling srv.LookupAndUpdateQuery on an existing user will populate an entry in the user_auth table
// Make the first log-in during the past
database . GetTime = func ( ) time . Time { return fixedTime . AddDate ( 0 , 0 , - 2 ) }
queryOne := & models . GetUserByAuthInfoQuery { Login : login , AuthModule : "test1" , AuthId : "test1" }
queryOne := & models . GetUserByAuthInfoQuery { AuthModule : "test1" , AuthId : "test1" , UserLookupParams : models . UserLookupParams {
Login : & login ,
} }
user , err := srv . LookupAndUpdate ( context . Background ( ) , queryOne )
database . GetTime = time . Now
@ -267,7 +281,9 @@ func TestUserAuth(t *testing.T) {
// Add a second auth module for this user
// Have this module's last log-in be more recent
database . GetTime = func ( ) time . Time { return fixedTime . AddDate ( 0 , 0 , - 1 ) }
queryTwo := & models . GetUserByAuthInfoQuery { Login : login , AuthModule : "test2" , AuthId : "test2" }
queryTwo := & models . GetUserByAuthInfoQuery { AuthModule : "test2" , AuthId : "test2" , UserLookupParams : models . UserLookupParams {
Login : & login ,
} }
user , err = srv . LookupAndUpdate ( context . Background ( ) , queryTwo )
require . Nil ( t , err )
require . Equal ( t , user . Login , login )
@ -333,16 +349,21 @@ func TestUserAuth(t *testing.T) {
// Expect to pass since there's a matching login user
database . GetTime = func ( ) time . Time { return time . Now ( ) . AddDate ( 0 , 0 , - 2 ) }
query := & models . GetUserByAuthInfoQuery { Login : login , AuthModule : genericOAuthModule , AuthId : "" }
query := & models . GetUserByAuthInfoQuery { AuthModule : genericOAuthModule , AuthId : "" , UserLookupParams : models . UserLookupParams {
Login : & login ,
} }
user , err := srv . LookupAndUpdate ( context . Background ( ) , query )
database . GetTime = time . Now
require . Nil ( t , err )
require . Equal ( t , user . Login , login )
otherLoginUser := "aloginuser"
// Should throw a "user not found" error since there's no matching login user
database . GetTime = func ( ) time . Time { return time . Now ( ) . AddDate ( 0 , 0 , - 2 ) }
query = & models . GetUserByAuthInfoQuery { Login : "aloginuser" , AuthModule : genericOAuthModule , AuthId : "" }
query = & models . GetUserByAuthInfoQuery { AuthModule : genericOAuthModule , AuthId : "" , UserLookupParams : models . UserLookupParams {
Login : & otherLoginUser ,
} }
user , err = srv . LookupAndUpdate ( context . Background ( ) , query )
database . GetTime = time . Now