feat(backend): add kiro account support
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
//go:build unit
|
||||
|
||||
package kiro
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
func TestBuildSocialSignInURLUsesAppPortal(t *testing.T) {
|
||||
got := BuildSocialSignInURL("http://localhost:49153", "challenge123", "state456")
|
||||
want := "https://app.kiro.dev/signin?code_challenge=challenge123&code_challenge_method=S256&redirect_from=KiroIDE&redirect_uri=http%3A%2F%2Flocalhost%3A49153&state=state456"
|
||||
if got != want {
|
||||
t.Fatalf("BuildSocialSignInURL() = %q, want %q", got, want)
|
||||
}
|
||||
}
|
||||
|
||||
func TestBuildSocialTokenRedirectURI(t *testing.T) {
|
||||
got := BuildSocialTokenRedirectURI("http://localhost:49153", "/oauth/callback", "github")
|
||||
want := "http://localhost:49153/oauth/callback?login_option=github"
|
||||
if got != want {
|
||||
t.Fatalf("BuildSocialTokenRedirectURI() = %q, want %q", got, want)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSessionStoreGetDeletesExpiredSession(t *testing.T) {
|
||||
store := NewSessionStore()
|
||||
store.Set("expired", &AuthSession{CreatedAt: time.Now().Add(-2 * sessionTTL)})
|
||||
|
||||
session, ok := store.Get("expired")
|
||||
if ok || session != nil {
|
||||
t.Fatalf("Get(expired) = (%v, %v), want (nil, false)", session, ok)
|
||||
}
|
||||
if _, exists := store.data["expired"]; exists {
|
||||
t.Fatalf("expired session should be deleted from the store")
|
||||
}
|
||||
}
|
||||
|
||||
func TestSessionStoreSetPrunesExpiredSessions(t *testing.T) {
|
||||
store := NewSessionStore()
|
||||
now := time.Now()
|
||||
for i := 0; i < sessionCleanupMin; i++ {
|
||||
store.data[fmt.Sprintf("expired-%d", i)] = &AuthSession{CreatedAt: now.Add(-2 * sessionTTL)}
|
||||
}
|
||||
store.setCount = sessionCleanupEvery - 1
|
||||
|
||||
store.Set("fresh", &AuthSession{CreatedAt: now})
|
||||
|
||||
if len(store.data) != 1 {
|
||||
t.Fatalf("store size = %d, want 1", len(store.data))
|
||||
}
|
||||
if _, ok := store.data["fresh"]; !ok {
|
||||
t.Fatalf("fresh session should remain after pruning")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user