mirror of
https://github.com/pocketbase/pocketbase.git
synced 2024-11-28 18:11:17 +02:00
101 lines
2.3 KiB
Go
101 lines
2.3 KiB
Go
package tokens_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/pocketbase/pocketbase/tests"
|
|
"github.com/pocketbase/pocketbase/tokens"
|
|
)
|
|
|
|
func TestNewRecordAuthToken(t *testing.T) {
|
|
app, _ := tests.NewTestApp()
|
|
defer app.Cleanup()
|
|
|
|
user, err := app.Dao().FindAuthRecordByEmail("users", "test@example.com")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
token, err := tokens.NewRecordAuthToken(app, user)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
tokenRecord, _ := app.Dao().FindAuthRecordByToken(
|
|
token,
|
|
app.Settings().RecordAuthToken.Secret,
|
|
)
|
|
if tokenRecord == nil || tokenRecord.Id != user.Id {
|
|
t.Fatalf("Expected auth record %v, got %v", user, tokenRecord)
|
|
}
|
|
}
|
|
|
|
func TestNewRecordVerifyToken(t *testing.T) {
|
|
app, _ := tests.NewTestApp()
|
|
defer app.Cleanup()
|
|
|
|
user, err := app.Dao().FindAuthRecordByEmail("users", "test@example.com")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
token, err := tokens.NewRecordVerifyToken(app, user)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
tokenRecord, _ := app.Dao().FindAuthRecordByToken(
|
|
token,
|
|
app.Settings().RecordVerificationToken.Secret,
|
|
)
|
|
if tokenRecord == nil || tokenRecord.Id != user.Id {
|
|
t.Fatalf("Expected auth record %v, got %v", user, tokenRecord)
|
|
}
|
|
}
|
|
|
|
func TestNewRecordResetPasswordToken(t *testing.T) {
|
|
app, _ := tests.NewTestApp()
|
|
defer app.Cleanup()
|
|
|
|
user, err := app.Dao().FindAuthRecordByEmail("users", "test@example.com")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
token, err := tokens.NewRecordResetPasswordToken(app, user)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
tokenRecord, _ := app.Dao().FindAuthRecordByToken(
|
|
token,
|
|
app.Settings().RecordPasswordResetToken.Secret,
|
|
)
|
|
if tokenRecord == nil || tokenRecord.Id != user.Id {
|
|
t.Fatalf("Expected auth record %v, got %v", user, tokenRecord)
|
|
}
|
|
}
|
|
|
|
func TestNewRecordChangeEmailToken(t *testing.T) {
|
|
app, _ := tests.NewTestApp()
|
|
defer app.Cleanup()
|
|
|
|
user, err := app.Dao().FindAuthRecordByEmail("users", "test@example.com")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
token, err := tokens.NewRecordChangeEmailToken(app, user, "test_new@example.com")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
tokenRecord, _ := app.Dao().FindAuthRecordByToken(
|
|
token,
|
|
app.Settings().RecordEmailChangeToken.Secret,
|
|
)
|
|
if tokenRecord == nil || tokenRecord.Id != user.Id {
|
|
t.Fatalf("Expected auth record %v, got %v", user, tokenRecord)
|
|
}
|
|
}
|