FFly3CLI/ffiii/ffiii_test.go

48 lines
994 B
Go

package ffiii
import (
"net/http"
"net/http/httptest"
"os"
"strings"
"testing"
)
func TestAuthorize(t *testing.T) {
if realURL, ok := os.LookupEnv("OAUTH_URL"); ok {
realToken := os.Getenv("OAUTH_TOKEN")
realID := os.Getenv("OAUTH_ID")
realCode := os.Getenv("OAUTH_CODE")
c := &Client{
apiID: realID,
apiToken: realToken,
url: realURL,
reader: strings.NewReader(realCode),
}
if err := c.Authorize(); err != nil {
t.Fatal(err)
}
return
}
oauth := mockOAuthServer()
defer oauth.Close()
if _, err := New("1", "token", oauth.URL); err != nil {
t.Fatal(err)
}
}
func mockOAuthServer() *httptest.Server {
mux := http.NewServeMux()
mux.HandleFunc("/oauth/authorize", func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("authCode"))
})
mux.HandleFunc("/oauth/token", func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("access_token=mocktoken&scope=user&token_type=bearer"))
})
return httptest.NewServer(mux)
}