def test_reset_password(self, mozwebqa):
        user = self.create_verified_user(mozwebqa.selenium, mozwebqa.timeout)
        mozwebqa.selenium.get('%s/' % mozwebqa.base_url)
        self.log_out(mozwebqa.selenium, mozwebqa.timeout)
        mozwebqa.selenium.find_element(*self._persona_login_button_locator).click()

        from browserid.pages.sign_in import SignIn
        signin = SignIn(mozwebqa.selenium, mozwebqa.timeout)
        signin.click_this_is_not_me()
        signin.email = user.primary_email
        signin.click_next()
        signin.click_forgot_password()
        mail = restmail.get_mail(user.primary_email,
                                 message_count=2,
                                 timeout=mozwebqa.timeout)
        assert 'Click to reset your password' in mail[1]['text']
        reset_url = re.search(BrowserID.RESET_URL_REGEX,
                              mail[1]['text']).group(0)
        signin.switch_to_main_window()
        mozwebqa.selenium.get(reset_url)

        from browserid.pages.reset_password import ResetPassword

        reset_password = ResetPassword(mozwebqa.selenium)
        user.password += '_new'
        reset_password.new_password = user.password
        reset_password.verify_password = user.password
        reset_password.click_finish()

        assert '%s has been verified!' % user.primary_email in reset_password.thank_you
示例#2
0
    def test_sign_in_new_user(self, mozwebqa):
        user = MockUser()
        from browserid.pages.sign_in import SignIn
        signin = SignIn(mozwebqa.selenium, mozwebqa.timeout)
        print 'signing in as %s' % user.primary_email
        signin.email = user.primary_email
        signin.click_next(expect='verify')
        signin.register_password = user.password
        signin.verify_password = user.password
        assert signin.verify_password == user.password, 'verify password getter failed'
        signin.click_verify_email()
        assert signin.check_email_at_address == user.primary_email

        signin.close_window()
        signin.switch_to_main_window()
        mail = restmail.get_mail(user.primary_email, timeout=mozwebqa.timeout)

        # Check that the email appears to be valid
        self.email_appears_valid(mail[0]['text'])
示例#3
0
    def test_add_email(self, mozwebqa):
        user = self.create_verified_user(mozwebqa.selenium, mozwebqa.timeout)
        user.additional_emails.append('*****@*****.**' % user.id)

        mozwebqa.selenium.get('%s/' % mozwebqa.base_url)
        self.log_out(mozwebqa.selenium, mozwebqa.timeout)
        mozwebqa.selenium.find_element(*self._persona_login_button_locator).click()

        from browserid.pages.sign_in import SignIn
        signin = SignIn(mozwebqa.selenium, mozwebqa.timeout)
        signin.click_add_another_email_address()
        signin.new_email = user.additional_emails[0]
        assert signin.new_email == user.additional_emails[0], "new email getter failed"
        signin.click_add_new_email()
        signin.close_window()
        signin.switch_to_main_window()

        mail = restmail.get_mail(user.additional_emails[0],
                                 timeout=mozwebqa.timeout)

        # Check that the email appears to be valid
        self.email_appears_valid(mail[0]['text'])

        confirm_url = re.search(
            BrowserID.CONFIRM_URL_REGEX, mail[0]['text']).group(0)

        mozwebqa.selenium.get(confirm_url)
        from browserid.pages.complete_registration import CompleteRegistration
        complete_registration = CompleteRegistration(mozwebqa.selenium,
                                                     mozwebqa.timeout,
                                                     expect='success')
        assert user.additional_emails[0] in complete_registration.user_loggedin

        mozwebqa.selenium.get('%s/' % mozwebqa.base_url)
        self.log_out(mozwebqa.selenium, mozwebqa.timeout)
        mozwebqa.selenium.find_element(*self._persona_login_button_locator).click()

        signin = SignIn(mozwebqa.selenium, mozwebqa.timeout)
        assert user.additional_emails[0] in signin.emails
        assert signin.selected_email == user.additional_emails[0]