package main import ( "errors" "golang.org/x/net/context" "golang.org/x/oauth2" "net/http" "testing" ) type appOAuthTransfer1 struct { rt func(req *http.Request) (resp *http.Response, err error) } func (t *appOAuthTransfer1) RoundTrip(req *http.Request) (resp *http.Response, err error) { return t.rt(req) } func TestExchangeRequest(t *testing.T) { tr := &appOAuthTransfer1{ rt: func(r *http.Request) (w *http.Response, err error) { headerAuth := r.Header.Get("Authorization") if headerAuth != "" { t.Errorf("Unexpected authorization header, %v is found.", headerAuth) } return nil, errors.New("no response") }, } c := &http.Client{Transport: tr} conf := getConfig(FB_TYPE) ctx := context.WithValue(context.Background(), oauth2.HTTPClient, c) conf.Exchange(ctx, "code") }