mirror of
https://github.com/Dvorinka/excalidraw-full.git
synced 2026-06-05 06:32:56 +00:00
feat: full project sync - CI fixes, frontend, workspace API, and all changes
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
package workspace
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestUpsertOAuthSessionCreatesAndReusesIdentity(t *testing.T) {
|
||||
store, cleanup := newTestStore(t)
|
||||
defer cleanup()
|
||||
|
||||
profile := OAuthProfile{
|
||||
Provider: "github",
|
||||
ProviderUserID: "123",
|
||||
Email: "octo@example.com",
|
||||
Name: "Octo User",
|
||||
Username: "octo",
|
||||
AvatarURL: "https://example.com/avatar.png",
|
||||
EmailVerified: true,
|
||||
}
|
||||
user, session, token, err := store.UpsertOAuthSession(context.Background(), profile)
|
||||
if err != nil {
|
||||
t.Fatalf("UpsertOAuthSession() error = %v", err)
|
||||
}
|
||||
if user.ID == "" || session.ID == "" || token == "" {
|
||||
t.Fatalf("missing oauth output user=%#v session=%#v token=%q", user, session, token)
|
||||
}
|
||||
teams, err := store.ListTeamsForUser(context.Background(), user.ID)
|
||||
if err != nil {
|
||||
t.Fatalf("ListTeamsForUser() error = %v", err)
|
||||
}
|
||||
if len(teams) != 1 {
|
||||
t.Fatalf("teams len = %d, want 1", len(teams))
|
||||
}
|
||||
|
||||
sameUser, secondSession, secondToken, err := store.UpsertOAuthSession(context.Background(), profile)
|
||||
if err != nil {
|
||||
t.Fatalf("second UpsertOAuthSession() error = %v", err)
|
||||
}
|
||||
if sameUser.ID != user.ID {
|
||||
t.Fatalf("second oauth user id = %s, want %s", sameUser.ID, user.ID)
|
||||
}
|
||||
if secondSession.ID == session.ID || secondToken == token {
|
||||
t.Fatal("oauth login should create a fresh session")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user