function OpenIDInvalidIdentifierTransitionTestCase::testStrippedFragmentAccountAutoUpdateSreg

Test OpenID auto transition with e-mail.

File

modules/openid/openid.test, line 633

Class

OpenIDInvalidIdentifierTransitionTestCase
Test account registration using Simple Registration and Attribute Exchange.

Code

function testStrippedFragmentAccountAutoUpdateSreg() {
    $this->drupalLogin($this->web_user);
    // Use a User-supplied Identity that is the URL of an XRDS document.
    $identity = url('openid-test/yadis/xrds', array(
        'absolute' => TRUE,
        'fragment' => $this->randomName(),
    ));
    $identity_stripped = preg_replace('/#.*/', '', $identity);
    // Add invalid identifier to the authmap (identifier has stripped fragment).
    $this->addIdentity($identity_stripped);
    $this->drupalLogout();
    // Test logging in via the login form, provider will respond with full
    // identifier (including fragment) but with different email, so we can't
    // provide auto-update.
    variable_set('openid_test_response', array(
        'openid.claimed_id' => $identity,
        'openid.sreg.nickname' => $this->web_user->name,
        'openid.sreg.email' => $this->web_user->mail,
    ));
    $this->submitLoginForm($identity_stripped);
    // Verify user was redirected away from user login to an accessible page.
    $this->assertResponse(200);
    // Verify the message.
    $this->assertRaw(t('New OpenID identifier %identity was added as a replacement for invalid identifier %invalid_identity.', array(
        '%invalid_identity' => $identity_stripped,
        '%identity' => $identity,
    )), 'Message that OpenID identifier was added automatically was displayed.');
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.