def test_add_credentials(self): vccs_url = self.settings['vccs_url'] self.assertTrue(check_password(vccs_url, self.initial_password, self.user)) new_password = '******' add_credentials(vccs_url, self.initial_password, new_password, self.user) self.assertTrue(check_password(vccs_url, new_password, self.user)) with patch('eduiddashboard.vccs', clear=True): vccs.get_vccs_client.return_value = FakeVCCSClient(fake_response={ 'auth_response': { 'version': 1, 'authenticated': False, }, }) self.assertFalse(check_password(vccs_url, self.initial_password, self.user))
def __call__(self, node, value): request = node.bindings.get('request') if not request.registry.settings.get('use_vccs', True): return old_password = value old_password = old_password.replace(" ", "") if 'edit-user' in request.session: userid = request.session['edit-user'].get_id() else: userid = request.session['user'].get_id() # Load user from database to ensure we are working on an up-to-date set of credentials. user = request.userdb.get_user_by_oid(userid) # XXX if we saved user['passwords'] to node.bindings.request['user']['passwords'] here, # we could possibly avoid doing the same refresh again when changing passwords # (in PasswordsView.save_success()). vccs_url = request.registry.settings.get('vccs_url') password = check_password(vccs_url, old_password, user) if not password: err = _('Current password is incorrect') localizer = get_localizer(request) raise colander.Invalid(node, localizer.translate(err))
def test_add_credentials(self): vccs_url = self.settings['vccs_url'] self.assertTrue( check_password(vccs_url, self.initial_password, self.user)) new_password = '******' add_credentials(vccs_url, self.initial_password, new_password, self.user) self.assertTrue(check_password(vccs_url, new_password, self.user)) with patch('eduiddashboard.vccs', clear=True): vccs.get_vccs_client.return_value = FakeVCCSClient(fake_response={ 'auth_response': { 'version': 1, 'authenticated': False, }, }) self.assertFalse( check_password(vccs_url, self.initial_password, self.user))
def __call__(self, node, value): request = node.bindings.get('request') if not request.registry.settings.get('use_vccs', True): return old_password = value.replace(" ", "") user = get_session_user(request) vccs_url = request.registry.settings.get('vccs_url') password = check_password(vccs_url, old_password, user) if not password: err = _('Current password is incorrect') localizer = get_localizer(request) raise colander.Invalid(node, localizer.translate(err))