def METHOD_NAME(self):
    with patch("allauth.socialaccount.providers.openid.views.QUERY_EMAIL", True):
        resp = self.client.post(
            reverse(views.login), dict(openid="http://me.yahoo.com")
        )
    assert "login.yahooapis" in resp["location"]
    with patch(
        "allauth.socialaccount.providers.openid.views._openid_consumer"
    ) as consumer_mock:
        client = Mock()
        complete = Mock()
        endpoint = Mock()
        consumer_mock.return_value = client
        client.complete = complete
        complete_response = Mock()
        complete.return_value = complete_response
        complete_response.endpoint = endpoint
        complete_response.endpoint.server_url = "http://me.yahoo.com"
        complete_response.status = consumer.SUCCESS
        complete_response.identity_url = "http://dummy/john/"
        with patch(
            "allauth.socialaccount.providers.openid.utils.SRegResponse"
        ) as sr_mock:
            with patch(
                "allauth.socialaccount.providers.openid.utils.FetchResponse"
            ) as fr_mock:
                sreg_mock = Mock()
                ax_mock = Mock()
                sr_mock.fromSuccessResponse = sreg_mock
                fr_mock.fromSuccessResponse = ax_mock
                sreg_mock.return_value = {}
                ax_mock.return_value = {
                    AXAttribute.CONTACT_EMAIL: ["raymond@example.com"],
                    AXAttribute.PERSON_FIRST_NAME: ["raymond"],
                    "http://axschema.org/contact/phone/default": ["123456789"],
                }
                resp = self.client.post(reverse("openid_callback"))
                self.assertRedirects(
                    resp,
                    "/accounts/profile/",
                    fetch_redirect_response=False,
                )
                socialaccount = SocialAccount.objects.get(
                    user__first_name="raymond"
                )
                self.assertEqual(socialaccount.extra_data.get("phone"), "123456789")