fossteams-api/pkg/token_extra_test.go
copilot-swe-agent[bot] 631c192034
feat: add Bun JS port
2026-06-04 13:44:27 +00:00

40 lines
1.1 KiB
Go

package api
import (
"os"
"path/filepath"
"testing"
)
func TestGetTokenFromEnvironment(t *testing.T) {
t.Setenv("MS_TEAMS_SKYPE_TOKEN", mustRawJWT(t, map[string]any{"email": "user@example.com"}))
token, err := GetSkypeSpacesToken()
if err != nil {
t.Fatalf("expected token from env: %v", err)
}
if token.Inner == nil || token.Inner.Raw == "" {
t.Fatal("expected parsed token")
}
}
func TestGetTokenFromFilesystem(t *testing.T) {
home := t.TempDir()
t.Setenv("HOME", home)
t.Setenv("MS_TEAMS_TEAMS_TOKEN", "")
tokenPath := filepath.Join(home, ".config", "fossteams")
if err := os.MkdirAll(tokenPath, 0o755); err != nil {
t.Fatalf("unable to create token dir: %v", err)
}
raw := mustRawJWT(t, map[string]any{"upn": "user@example.com"})
if err := os.WriteFile(filepath.Join(tokenPath, "token-teams.jwt"), []byte(raw), 0o644); err != nil {
t.Fatalf("unable to write token file: %v", err)
}
token, err := GetTeamsToken()
if err != nil {
t.Fatalf("expected token from file: %v", err)
}
if token.Inner == nil || token.Inner.Raw != raw {
t.Fatalf("unexpected token: %#v", token)
}
}