def test_activate_account_prevent_auth_user_writes(self): activation_key = create_account(self.USERNAME, self.PASSWORD, self.EMAIL) with pytest.raises(UserAPIInternalError, message=SYSTEM_MAINTENANCE_MSG): with waffle().override(PREVENT_AUTH_USER_WRITES, True): activate_account(activation_key)
def test_request_password_change(self): # Create and activate an account self.create_account(self.USERNAME, self.PASSWORD, self.EMAIL) self.assertEqual(len(mail.outbox), 1) user = User.objects.get(username=self.USERNAME) activation_key = self.get_activation_key(user) activate_account(activation_key) request = RequestFactory().post('/password') request.user = Mock() request.site = SiteFactory() with patch('crum.get_current_request', return_value=request): # Request a password change request_password_change(self.EMAIL, self.IS_SECURE) # Verify that a new email message has been sent self.assertEqual(len(mail.outbox), 2) # Verify that the body of the message contains something that looks # like an activation link email_body = mail.outbox[0].body result = re.search(r'(?P<url>https?://[^\s]+)', email_body) self.assertIsNot(result, None)
def setUp(self): super(StudentAccountUpdateTest, self).setUp() # Create/activate a new account activation_key = create_account(self.USERNAME, self.OLD_PASSWORD, self.OLD_EMAIL) activate_account(activation_key) # Login result = self.client.login(username=self.USERNAME, password=self.OLD_PASSWORD) self.assertTrue(result)
def test_login_and_registration_form_already_authenticated(self, url_name): # Create/activate a new account and log in activation_key = create_account(self.USERNAME, self.PASSWORD, self.EMAIL) activate_account(activation_key) result = self.client.login(username=self.USERNAME, password=self.PASSWORD) self.assertTrue(result) # Verify that we're redirected to the dashboard response = self.client.get(reverse(url_name)) self.assertRedirects(response, reverse("dashboard"))
def setUp(self): super(UserAccountUpdateTest, self).setUp() # Create/activate a new account activation_key = create_account(self.USERNAME, self.OLD_PASSWORD, self.OLD_EMAIL) activate_account(activation_key) self.account_recovery = AccountRecoveryFactory.create(user=User.objects.get(email=self.OLD_EMAIL)) self.enable_account_recovery_switch = Switch.objects.create( name=ENABLE_SECONDARY_EMAIL_FEATURE_SWITCH, active=True ) # Login result = self.client.login(username=self.USERNAME, password=self.OLD_PASSWORD) self.assertTrue(result)
def test_activate_account(self): # Create the account, which is initially inactive activation_key = create_account(self.USERNAME, self.PASSWORD, self.EMAIL) user = User.objects.get(username=self.USERNAME) request = RequestFactory().get("/api/user/v1/accounts/") request.user = user account = get_account_settings(request)[0] self.assertEqual(self.USERNAME, account["username"]) self.assertEqual(self.EMAIL, account["email"]) self.assertFalse(account["is_active"]) # Activate the account and verify that it is now active activate_account(activation_key) account = get_account_settings(request)[0] self.assertTrue(account['is_active'])
def test_request_password_change(self): # Create and activate an account activation_key = create_account(self.USERNAME, self.PASSWORD, self.EMAIL) activate_account(activation_key) # Request a password change request_password_change(self.EMAIL, self.IS_SECURE) # Verify that one email message has been sent self.assertEqual(len(mail.outbox), 1) # Verify that the body of the message contains something that looks # like an activation link email_body = mail.outbox[0].body result = re.search(r'(?P<url>https?://[^\s]+)', email_body) self.assertIsNot(result, None)
def test_request_password_change(self): # Create and activate an account activation_key = create_account(self.USERNAME, self.PASSWORD, self.EMAIL) activate_account(activation_key) request = RequestFactory().post('/password') request.user = Mock() request.site = SiteFactory() with patch('crum.get_current_request', return_value=request): # Request a password change request_password_change(self.EMAIL, self.IS_SECURE) # Verify that one email message has been sent self.assertEqual(len(mail.outbox), 1) # Verify that the body of the message contains something that looks # like an activation link email_body = mail.outbox[0].body result = re.search(r'(?P<url>https?://[^\s]+)', email_body) self.assertIsNot(result, None)
def test_activate_account_invalid_key(self): with pytest.raises(UserNotAuthorized): activate_account(u'invalid')
def test_activate_account_invalid_key(self): activate_account(u'invalid')