def put(self, request, login): """ Update a user. :param request: WSGI request object :type request: django.core.handlers.wsgi.WSGIRequest :param login: login for the requested user :type login: str :return: Response containing the user :rtype: django.http.HttpResponse """ delta = request.body_as_json.get('delta') updated_user = user_controller.update_user(login, delta) serialized_user = model.User.SERIALIZER(updated_user).data return generate_json_response_with_pulp_encoder(serialized_user)
def test_update_as_expected(self, mock_f, mock_model): """ Test the expected path of a successful update. """ m_user = mock_model.objects.get_or_404.return_value m_user.roles = ["photograph", "skycrane"] delta = {"password": "******", "roles": ["analyze", "photograph"]} m_role_manager = mock_f.role_manager.return_value updated = user_controller.update_user("curiosity", delta) m_role_manager.add_user_to_role("analyze", "curiosity") m_role_manager.remove_user_from_role("skycrane", "curiosity") m_user.set_password.assert_called_once_with("marius_pass") m_user.save.assert_called_once_with() m_user.roles = ["analyze", "photograph"] self.assertTrue(updated is m_user)
def test_update_as_expected(self, mock_f, mock_model): """ Test the expected path of a successful update. """ m_user = mock_model.objects.get_or_404.return_value m_user.roles = ['photograph', 'skycrane'] delta = {'password': '******', 'roles': ['analyze', 'photograph']} m_role_manager = mock_f.role_manager.return_value updated = user_controller.update_user('curiosity', delta) m_role_manager.add_user_to_role('analyze', 'curiosity') m_role_manager.remove_user_from_role('skycrane', 'curiosity') m_user.set_password.assert_called_once_with('marius_pass') m_user.save.assert_called_once_with() m_user.roles = ['analyze', 'photograph'] self.assertTrue(updated is m_user)