48 lines
994 B
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)
|
|
}
|