55 lines
1.4 KiB
Go
55 lines
1.4 KiB
Go
package googleapi
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"github.com/steipete/gogcli/internal/config"
|
|
"github.com/steipete/gogcli/internal/secrets"
|
|
)
|
|
|
|
type tasksStubStore struct {
|
|
tok secrets.Token
|
|
err error
|
|
}
|
|
|
|
func (s *tasksStubStore) Keys() ([]string, error) { return nil, nil }
|
|
func (s *tasksStubStore) SetToken(string, secrets.Token) error { return nil }
|
|
func (s *tasksStubStore) DeleteToken(string) error { return nil }
|
|
func (s *tasksStubStore) ListTokens() ([]secrets.Token, error) { return nil, nil }
|
|
func (s *tasksStubStore) GetDefaultAccount() (string, error) { return "", nil }
|
|
func (s *tasksStubStore) SetDefaultAccount(string) error { return nil }
|
|
func (s *tasksStubStore) GetToken(string) (secrets.Token, error) {
|
|
if s.err != nil {
|
|
return secrets.Token{}, s.err
|
|
}
|
|
|
|
return s.tok, nil
|
|
}
|
|
|
|
func TestNewTasks(t *testing.T) {
|
|
origRead := readClientCredentials
|
|
origOpen := openSecretsStore
|
|
|
|
t.Cleanup(func() {
|
|
readClientCredentials = origRead
|
|
openSecretsStore = origOpen
|
|
})
|
|
|
|
readClientCredentials = func() (config.ClientCredentials, error) {
|
|
return config.ClientCredentials{ClientID: "id", ClientSecret: "secret"}, nil
|
|
}
|
|
openSecretsStore = func() (secrets.Store, error) {
|
|
return &tasksStubStore{tok: secrets.Token{RefreshToken: "rt"}}, nil
|
|
}
|
|
|
|
svc, err := NewTasks(context.Background(), "a@b.com")
|
|
if err != nil {
|
|
t.Fatalf("NewTasks: %v", err)
|
|
}
|
|
|
|
if svc == nil {
|
|
t.Fatalf("expected service")
|
|
}
|
|
}
|