mirror of
https://github.com/weloe/token-go.git
synced 2025-10-03 14:46:29 +08:00
feat: add QRCode state api, support QRCode login
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package token_go
|
||||
|
||||
import (
|
||||
"github.com/weloe/token-go/model"
|
||||
"testing"
|
||||
)
|
||||
|
||||
@@ -33,3 +34,67 @@ func TestEnforcer_TempToken(t *testing.T) {
|
||||
t.Errorf("ParseTempToken() failed, unexpected codeValue: %v", codeValue)
|
||||
}
|
||||
}
|
||||
|
||||
func TestEnforcer_ConfirmQRCode(t *testing.T) {
|
||||
enforcer, _ := NewTestEnforcer(t)
|
||||
// in APP
|
||||
token, err := enforcer.LoginById("1")
|
||||
if err != nil {
|
||||
t.Fatalf("Login failed: %v", err)
|
||||
}
|
||||
t.Logf("login token: %v", token)
|
||||
|
||||
qrCodeId := "q1"
|
||||
|
||||
err = enforcer.CreateQRCodeState(qrCodeId, -1)
|
||||
if err != nil {
|
||||
t.Fatalf("CreateQRCodeState() failed: %v", err)
|
||||
}
|
||||
t.Logf("After CreateQRCodeState(), current QRCode state: %v", enforcer.GetQRCodeState(qrCodeId))
|
||||
tempToken, err := enforcer.Scanned(qrCodeId, token)
|
||||
if err != nil {
|
||||
t.Fatalf("Scanned() failed: %v", err)
|
||||
}
|
||||
t.Logf("After Scanned(), current QRCode state: %v", enforcer.GetQRCodeState(qrCodeId))
|
||||
t.Logf("tempToken: %v", tempToken)
|
||||
err = enforcer.ConfirmAuth(tempToken)
|
||||
if err != nil {
|
||||
t.Fatalf("ConfirmAuth() failed: %v", err)
|
||||
}
|
||||
t.Logf("After ConfirmAuth(), current QRCode state: %v", enforcer.GetQRCodeState(qrCodeId))
|
||||
if enforcer.GetQRCodeState(qrCodeId) == model.ConfirmAuth {
|
||||
t.Logf(" QRCode login successfully.")
|
||||
}
|
||||
}
|
||||
|
||||
func TestEnforcer_CancelAuthQRCode(t *testing.T) {
|
||||
enforcer, _ := NewTestEnforcer(t)
|
||||
// in APP
|
||||
token, err := enforcer.LoginById("1")
|
||||
if err != nil {
|
||||
t.Fatalf("Login failed: %v", err)
|
||||
}
|
||||
t.Logf("login token: %v", token)
|
||||
|
||||
qrCodeId := "q1"
|
||||
|
||||
err = enforcer.CreateQRCodeState(qrCodeId, -1)
|
||||
if err != nil {
|
||||
t.Fatalf("CreateQRCodeState() failed: %v", err)
|
||||
}
|
||||
t.Logf("After CreateQRCodeState(), current QRCode state: %v", enforcer.GetQRCodeState(qrCodeId))
|
||||
tempToken, err := enforcer.Scanned(qrCodeId, token)
|
||||
if err != nil {
|
||||
t.Fatalf("Scanned() failed: %v", err)
|
||||
}
|
||||
t.Logf("After Scanned(), current QRCode state: %v", enforcer.GetQRCodeState(qrCodeId))
|
||||
t.Logf("tempToken: %v", tempToken)
|
||||
err = enforcer.CancelAuth(tempToken)
|
||||
if err != nil {
|
||||
t.Fatalf("CancelAuth() failed: %v", err)
|
||||
}
|
||||
t.Logf("After CancelAuth(), current QRCode state: %v", enforcer.GetQRCodeState(qrCodeId))
|
||||
if enforcer.GetQRCodeState(qrCodeId) == model.CancelAuth {
|
||||
t.Logf(" QRCode login is cancelled.")
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user