func TestTokenHandler_Unauthorized(t *testing.T) { proxyClient, server := testutils.UnauthorizedTestServer() defer server.Close() // oauth1 Client will use the proxy client's base Transport ctx := context.WithValue(context.Background(), oauth1.HTTPClient, proxyClient) config := &oauth1.Config{} handler := TokenHandler(config, assertSuccessNotCalled(t), nil) ts := httptest.NewServer(ctxh.NewHandlerWithContext(ctx, handler)) // assert that error occurs indicating the Twitter User could not be confirmed resp, _ := http.PostForm(ts.URL, url.Values{accessTokenField: {testTwitterToken}, accessTokenSecretField: {testTwitterTokenSecret}}) testutils.AssertBodyString(t, resp.Body, ErrUnableToGetTwitterUser.Error()+"\n") }
func TestTokenHandler_UnauthorizedPassesError(t *testing.T) { proxyClient, server := testutils.UnauthorizedTestServer() defer server.Close() // oauth1 Client will use the proxy client's base Transport ctx := context.WithValue(context.Background(), oauth1.HTTPClient, proxyClient) config := &oauth1.Config{} failure := func(ctx context.Context, w http.ResponseWriter, req *http.Request) { // assert that error passed through ctx err := gologin.ErrorFromContext(ctx) if assert.Error(t, err) { assert.Equal(t, err, ErrUnableToGetTwitterUser) } } handler := TokenHandler(config, assertSuccessNotCalled(t), ctxh.ContextHandlerFunc(failure)) ts := httptest.NewServer(ctxh.NewHandlerWithContext(ctx, handler)) http.PostForm(ts.URL, url.Values{accessTokenField: {testTwitterToken}, accessTokenSecretField: {testTwitterTokenSecret}}) }