From 7aabcf26944835b0418eec6b057a0b186ff206bf Mon Sep 17 00:00:00 2001 From: linoman <2051016+linoman@users.noreply.github.com> Date: Fri, 16 Sep 2022 08:57:22 +0200 Subject: [PATCH] Add test for username/login field conflict --- pkg/services/sqlstore/user_test.go | 39 ++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/pkg/services/sqlstore/user_test.go b/pkg/services/sqlstore/user_test.go index 76182fbc2cd..413b55e80af 100644 --- a/pkg/services/sqlstore/user_test.go +++ b/pkg/services/sqlstore/user_test.go @@ -47,6 +47,45 @@ func TestUserDataAccess(t *testing.T) { require.False(t, query.Result.IsDisabled) }) + t.Run("Get User by login - user_2 uses user_1.email as login", func(t *testing.T) { + ss = InitTestDB(t) + + // create user_1 + cmd := models.CreateUserCommand{ + Email: "user_1@mail.com", + Name: "user_1", + Login: "user_1", + Password: "user_1_password", + IsDisabled: true, + } + user_1, err := ss.CreateUser(context.Background(), cmd) + require.Nil(t, err) + + // create user_2 + cmd = models.CreateUserCommand{ + Email: "user_2@mail.com", + Name: "user_2", + Login: "user_1@mail.com", + Password: "user_2_password", + IsDisabled: true, + } + user_2, err := ss.CreateUser(context.Background(), cmd) + require.Nil(t, err) + + // query user database for user_1 email + query := models.GetUserByLoginQuery{LoginOrEmail: "user_1@mail.com"} + err = ss.GetUserByLogin(context.Background(), &query) + require.Nil(t, err) + + // expect user_1 as result + require.Equal(t, user_1.Email, query.Result.Email) + require.Equal(t, user_1.Login, query.Result.Login) + require.Equal(t, user_1.Name, query.Result.Name) + require.NotEqual(t, user_2.Email, query.Result.Email) + require.NotEqual(t, user_2.Login, query.Result.Login) + require.NotEqual(t, user_2.Name, query.Result.Name) + }) + t.Run("Testing DB - creates and loads disabled user", func(t *testing.T) { ss = InitTestDB(t) cmd := models.CreateUserCommand{