def test_reset_password(self, selenium, timeout, new_user): # sign in as a new user from bidpom.pages.sign_in import SignIn signin = SignIn(selenium, timeout) signin.sign_in_new_user(new_user['email'], new_user['password']) mail = restmail.get_mail(new_user['email']) selenium.get(re.search(BIDPOM.VERIFY_URL_REGEX, mail[0]['text']).group(0)) from bidpom.pages.complete_registration import CompleteRegistration complete_registration = CompleteRegistration(selenium, timeout) assert new_user['email'] in complete_registration.user_loggedin self.log_out(selenium, timeout) # forgot password selenium.find_element(*self._persona_login_button_locator).click() from bidpom.pages.sign_in import SignIn signin = SignIn(selenium, timeout) signin.click_this_is_not_me() signin.email = new_user['email'] signin.click_next() signin.click_forgot_password() signin.switch_to_main_window() mail = restmail.get_mail(new_user['email'], message_count=2) assert 'Click to reset your password' in mail[1]['text'] # reset password new_user['password'] = '******'.format(new_user) selenium.get(re.search(BIDPOM.RESET_URL_REGEX, mail[1]['text']).group(0)) from bidpom.pages.reset_password import ResetPassword reset_password = ResetPassword(selenium, timeout).wait_for_page_to_load() reset_password.new_password = new_user['password'] reset_password.verify_password = new_user['password'] reset_password.click_finish() assert '{0[email]} has been verified!'.format(new_user) in reset_password.thank_you
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
def test_add_email(self, base_url, selenium, timeout, verified_user, new_email): bidpom = BIDPOM(selenium, timeout) bidpom.sign_in(verified_user['email'], verified_user['password']) WebDriverWait(selenium, timeout).until(lambda s: s.find_element( *self._persona_logged_in_indicator_locator).is_displayed()) self.log_out(selenium, timeout) selenium.find_element(*self._persona_login_button_locator).click() from bidpom.pages.sign_in import SignIn signin = SignIn(selenium, timeout) signin.click_add_another_email_address() signin.new_email = new_email assert signin.new_email == new_email, 'new email getter failed' signin.click_add_new_email() signin.close_window() signin.switch_to_main_window() mail = restmail.get_mail(new_email) # Check that the email appears to be valid self.email_appears_valid(mail[0]['text']) selenium.get(re.search(BIDPOM.CONFIRM_URL_REGEX, mail[0]['text']).group(0)) from bidpom.pages.complete_registration import CompleteRegistration complete_registration = CompleteRegistration(selenium, timeout) assert new_email in complete_registration.user_loggedin selenium.get(base_url) self.log_out(selenium, timeout) selenium.find_element(*self._persona_login_button_locator).click() signin = SignIn(selenium, timeout) assert new_email in signin.emails assert new_email == signin.selected_email
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_by_css_selector('#loggedout button').click() from .. pages.sign_in import SignIn signin = SignIn(mozwebqa.selenium, mozwebqa.timeout, expect='returning') signin.click_this_is_not_me() signin.email = user.primary_email signin.click_next() signin.click_forgot_password() user.password += '_new' signin.register_password = user.password signin.verify_password = user.password signin.click_reset_password() assert signin.check_email_at_address == user.primary_email signin.close_window() signin.switch_to_main_window() 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) mozwebqa.selenium.get(reset_url) from .. pages.complete_registration import CompleteRegistration complete_registration = CompleteRegistration(mozwebqa.selenium, mozwebqa.timeout, expect='success') assert 'Your address has been verified!' in complete_registration.thank_you
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_by_css_selector('#loggedout button').click() from .. pages.sign_in import SignIn signin = SignIn(mozwebqa.selenium, mozwebqa.timeout, expect='returning') signin.click_this_is_not_me() signin.email = user.primary_email signin.click_next() signin.click_forgot_password() user.password += '_new' signin.password = user.password signin.verify_password = user.password signin.click_reset_password() assert signin.check_email_at_address == user.primary_email signin.close_window() signin.switch_to_main_window() 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) from .. pages.complete_registration import CompleteRegistration complete_registration = CompleteRegistration(mozwebqa.selenium, mozwebqa.timeout, reset_url, expect='redirect')
def test_sign_in_new_user_helper(self, mozwebqa): user = MockUser() from ..pages.sign_in import SignIn signin = SignIn(mozwebqa.selenium, mozwebqa.timeout, expect='new') print 'signing in as %s' % user.primary_email signin.sign_in_new_user(user.primary_email, 'password') mail = restmail.get_mail(user.primary_email, timeout=mozwebqa.timeout) assert 'Click to confirm this email address' in mail[0]['text']
def test_sign_in_new_user_helper(self, new_user, selenium, timeout): from bidpom.pages.sign_in import SignIn signin = SignIn(selenium, timeout) signin.sign_in_new_user(new_user['email'], new_user['password']) mail = restmail.get_mail(new_user['email']) # Check that the email appears to be valid self.email_appears_valid(mail[0]['text'])
def test_sign_in_new_user_helper(self, mozwebqa): user = MockUser() from .. pages.sign_in import SignIn signin = SignIn(mozwebqa.selenium, mozwebqa.timeout, expect='new') print 'signing in as %s' % user.primary_email signin.sign_in_new_user(user.primary_email, 'password') mail = restmail.get_mail(user.primary_email, timeout=mozwebqa.timeout) assert 'Click to confirm this email address' in mail[0]['text']
def test_sign_in_new_user_helper(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.sign_in_new_user(user.primary_email, 'password') 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'])
def create_verified_user(self, selenium, timeout): user = MockUser() from ..pages.sign_in import SignIn signin = SignIn(selenium, timeout, expect='new') signin.sign_in_new_user(user.primary_email, user.password) mail = restmail.get_mail(user.primary_email, timeout=timeout) verify_url = re.search(BrowserID.VERIFY_URL_REGEX, mail[0]['text']).group(0) from ..pages.complete_registration import CompleteRegistration complete_registration = CompleteRegistration(selenium, timeout, verify_url, expect='redirect') return user
def create_verified_user(self, selenium, timeout): user = MockUser() from .. pages.sign_in import SignIn signin = SignIn(selenium, timeout, expect='new') signin.sign_in_new_user(user.primary_email, user.password) mail = restmail.get_mail(user.primary_email, timeout=timeout) verify_url = re.search(BrowserID.VERIFY_URL_REGEX, mail[0]['text']).group(0) selenium.get(verify_url) from .. pages.complete_registration import CompleteRegistration complete_registration = CompleteRegistration(selenium, timeout, expect='success') assert 'Thank you' in complete_registration.thank_you return user
def test_sign_in_new_user(self, mozwebqa): user = MockUser() from .. pages.sign_in import SignIn signin = SignIn(mozwebqa.selenium, mozwebqa.timeout, expect='new') print 'signing in as %s' % user.primary_email signin.email = user.primary_email signin.click_next(expect='verify') signin.password = user.password signin.verify_password = user.password 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) assert 'Click to confirm this email address' in mail[0]['text']
def test_sign_in_new_user(self, mozwebqa): user = MockUser() from ..pages.sign_in import SignIn signin = SignIn(mozwebqa.selenium, mozwebqa.timeout, expect='new') print 'signing in as %s' % user.primary_email signin.email = user.primary_email signin.click_next(expect='verify') signin.password = user.password signin.verify_password = user.password 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) assert 'Click to confirm this email address' in mail[0]['text']
def test_add_email(self, mozwebqa): user = self.create_verified_user(mozwebqa.selenium, mozwebqa.timeout) user.additional_emails.append('*****@*****.**' % user.id) # log out mozwebqa.selenium.get('%s/' % mozwebqa.base_url) self.log_out(mozwebqa.selenium, mozwebqa.timeout) # initiate add email mozwebqa.selenium.find_element_by_css_selector( '#loggedout button').click() from ..pages.sign_in import SignIn signin = SignIn(mozwebqa.selenium, mozwebqa.timeout, expect='returning') 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) assert 'Click to confirm this email address' in mail[0]['text'] confirm_url = re.search(BrowserID.CONFIRM_URL_REGEX, mail[0]['text']).group(0) from ..pages.complete_registration import CompleteRegistration complete_registration = CompleteRegistration(mozwebqa.selenium, mozwebqa.timeout, confirm_url, expect='redirect') self.log_out(mozwebqa.selenium, mozwebqa.timeout) mozwebqa.selenium.find_element_by_css_selector( '#loggedout button').click() signin = SignIn(mozwebqa.selenium, mozwebqa.timeout, expect='returning') assert user.additional_emails[0] in signin.emails assert signin.selected_email == user.additional_emails[0]
def test_sign_in_new_user(self, new_user, selenium, timeout): from bidpom.pages.sign_in import SignIn signin = SignIn(selenium, timeout) signin.email = new_user['email'] signin.click_next(expect='verify') signin.register_password = new_user['password'] signin.verify_password = new_user['password'] assert signin.verify_password == new_user['password'], 'verify password getter failed' signin.click_verify_email() assert signin.check_email_at_address == new_user['email'] signin.close_window() signin.switch_to_main_window() mail = restmail.get_mail(new_user['email']) # Check that the email appears to be valid self.email_appears_valid(mail[0]['text'])
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'])
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]
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_by_css_selector('#loggedout button').click() from .. pages.sign_in import SignIn signin = SignIn(mozwebqa.selenium, mozwebqa.timeout, expect='returning') 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) assert 'Click to confirm this email address' in mail[0]['text'] confirm_url = re.search(BrowserID.CONFIRM_URL_REGEX, mail[0]['text']).group(0) mozwebqa.selenium.get(confirm_url) from .. 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_by_css_selector('#loggedout button').click() signin = SignIn(mozwebqa.selenium, mozwebqa.timeout, expect='returning') assert user.additional_emails[0] in signin.emails assert signin.selected_email == user.additional_emails[0]
def login_link(username): mail = restmail.get_mail(username) mail_content = mail[0]['text'].replace('\n', ' ').replace('amp;', '').split(" ") for link in mail_content: if link.startswith("https"): return link