Files
grafana/pkg/services/notifications/codes_test.go
T

40 lines
1013 B
Go
Raw Normal View History

2015-06-08 13:39:02 +02:00
package notifications
import (
"testing"
2022-06-28 14:32:25 +02:00
"github.com/grafana/grafana/pkg/services/user"
2015-06-08 13:39:02 +02:00
"github.com/grafana/grafana/pkg/setting"
"github.com/stretchr/testify/require"
2015-06-08 13:39:02 +02:00
)
func TestEmailCodes(t *testing.T) {
t.Run("When generating code", func(t *testing.T) {
cfg := setting.NewCfg()
cfg.EmailCodeValidMinutes = 120
2015-06-08 13:39:02 +02:00
2022-06-28 14:32:25 +02:00
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)
2015-06-08 13:39:02 +02:00
t.Run("getLoginForCode should return login", func(t *testing.T) {
2015-06-08 13:39:02 +02:00
login := getLoginForEmailCode(code)
require.Equal(t, login, "asd")
2015-06-08 13:39:02 +02:00
})
t.Run("Can verify valid code", func(t *testing.T) {
isValid, err := validateUserEmailCode(cfg, user, code)
require.NoError(t, err)
require.True(t, isValid)
2015-06-08 13:39:02 +02:00
})
t.Run("Cannot verify in-valid code", func(t *testing.T) {
2015-06-08 13:39:02 +02:00
code = "ASD"
isValid, err := validateUserEmailCode(cfg, user, code)
require.NoError(t, err)
require.False(t, isValid)
2015-06-08 13:39:02 +02:00
})
})
}