| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- //go:build unit
- package service
- import (
- "context"
- "testing"
- "github.com/stretchr/testify/require"
- )
- func TestAntigravityTokenProvider_GetAccessToken_Upstream(t *testing.T) {
- provider := &AntigravityTokenProvider{}
- t.Run("upstream account with valid api_key", func(t *testing.T) {
- account := &Account{
- Platform: PlatformAntigravity,
- Type: AccountTypeUpstream,
- Credentials: map[string]any{
- "api_key": "sk-test-key-12345",
- },
- }
- token, err := provider.GetAccessToken(context.Background(), account)
- require.NoError(t, err)
- require.Equal(t, "sk-test-key-12345", token)
- })
- t.Run("upstream account missing api_key", func(t *testing.T) {
- account := &Account{
- Platform: PlatformAntigravity,
- Type: AccountTypeUpstream,
- Credentials: map[string]any{},
- }
- token, err := provider.GetAccessToken(context.Background(), account)
- require.Error(t, err)
- require.Contains(t, err.Error(), "upstream account missing api_key")
- require.Empty(t, token)
- })
- t.Run("upstream account with empty api_key", func(t *testing.T) {
- account := &Account{
- Platform: PlatformAntigravity,
- Type: AccountTypeUpstream,
- Credentials: map[string]any{
- "api_key": "",
- },
- }
- token, err := provider.GetAccessToken(context.Background(), account)
- require.Error(t, err)
- require.Contains(t, err.Error(), "upstream account missing api_key")
- require.Empty(t, token)
- })
- t.Run("upstream account with nil credentials", func(t *testing.T) {
- account := &Account{
- Platform: PlatformAntigravity,
- Type: AccountTypeUpstream,
- }
- token, err := provider.GetAccessToken(context.Background(), account)
- require.Error(t, err)
- require.Contains(t, err.Error(), "upstream account missing api_key")
- require.Empty(t, token)
- })
- }
- func TestAntigravityTokenProvider_GetAccessToken_Guards(t *testing.T) {
- provider := &AntigravityTokenProvider{}
- t.Run("nil account", func(t *testing.T) {
- token, err := provider.GetAccessToken(context.Background(), nil)
- require.Error(t, err)
- require.Contains(t, err.Error(), "account is nil")
- require.Empty(t, token)
- })
- t.Run("non-antigravity platform", func(t *testing.T) {
- account := &Account{
- Platform: PlatformAnthropic,
- Type: AccountTypeOAuth,
- }
- token, err := provider.GetAccessToken(context.Background(), account)
- require.Error(t, err)
- require.Contains(t, err.Error(), "not an antigravity account")
- require.Empty(t, token)
- })
- t.Run("unsupported account type", func(t *testing.T) {
- account := &Account{
- Platform: PlatformAntigravity,
- Type: AccountTypeAPIKey,
- }
- token, err := provider.GetAccessToken(context.Background(), account)
- require.Error(t, err)
- require.Contains(t, err.Error(), "not an antigravity oauth account")
- require.Empty(t, token)
- })
- }
|