mirror of
https://github.com/grafana/grafana.git
synced 2024-12-02 05:29:42 -06:00
6c43eb0b4d
* Split Create User * Use new create user and User from package user * Add service to wire * Making create user work * Replace user from user pkg * One more * Move Insert to orguser Service/Store * Remove unnecessary conversion * Cleaunp * Fix Get User and add fakes * Fixing get org id for user logic, adding fakes and other adjustments * Add some tests for ourguser service and store * Fix insert org logic * Add comment about deprecation * Fix after merge with main * Move orguser service/store to org service/store * Remove orguser from wire * Unimplement new Create user and use User from pkg user * Fix wire generation * Fix lint * Fix lint - use only User and CrateUserCommand from user pkg * Remove User and CreateUserCommand from models * Fix lint 2
40 lines
1013 B
Go
40 lines
1013 B
Go
package notifications
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/grafana/grafana/pkg/services/user"
|
|
"github.com/grafana/grafana/pkg/setting"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestEmailCodes(t *testing.T) {
|
|
t.Run("When generating code", func(t *testing.T) {
|
|
cfg := setting.NewCfg()
|
|
cfg.EmailCodeValidMinutes = 120
|
|
|
|
user := &user.User{ID: 10, Email: "t@a.com", Login: "asd", Password: "1", Rands: "2"}
|
|
code, err := createUserEmailCode(cfg, user, nil)
|
|
require.NoError(t, err)
|
|
|
|
t.Run("getLoginForCode should return login", func(t *testing.T) {
|
|
login := getLoginForEmailCode(code)
|
|
require.Equal(t, login, "asd")
|
|
})
|
|
|
|
t.Run("Can verify valid code", func(t *testing.T) {
|
|
isValid, err := validateUserEmailCode(cfg, user, code)
|
|
require.NoError(t, err)
|
|
require.True(t, isValid)
|
|
})
|
|
|
|
t.Run("Cannot verify in-valid code", func(t *testing.T) {
|
|
code = "ASD"
|
|
isValid, err := validateUserEmailCode(cfg, user, code)
|
|
require.NoError(t, err)
|
|
require.False(t, isValid)
|
|
})
|
|
})
|
|
}
|