id,summary,reporter,owner,description,type,status,component,version,severity,resolution,keywords,cc,stage,has_patch,needs_docs,needs_tests,needs_better_patch,easy,ui_ux 14350,Please add a login method to the test Client that doesn't depend on passwords,James Westby ,nobody,"Hi, Requiring passwords in tests that don't test the login is unnecessary and binds them too tightly to implementation that they don't care about. I suggest something like the following: {{{ def login_user(self, user): if not 'django.contrib.sessions' in settings.INSTALLED_APPS: raise AssertionError(""Unable to login without django.contrib.sessions in INSTALLED_APPS"") user.backend = ""%s.%s"" % (""django.contrib.auth.backends"", ""ModelBackend"") engine = import_module(settings.SESSION_ENGINE) # Create a fake request to store login details. request = HttpRequest() if self.session: request.session = self.session else: request.session = engine.SessionStore() login(request, user) # Set the cookie to represent the session. session_cookie = settings.SESSION_COOKIE_NAME self.cookies[session_cookie] = request.session.session_key cookie_data = { 'max-age': None, 'path': '/', 'domain': settings.SESSION_COOKIE_DOMAIN, 'secure': settings.SESSION_COOKIE_SECURE or None, 'expires': None, } self.cookies[session_cookie].update(cookie_data) # Save the session values. request.session.save() }}} refactoring with the common code in other methods. That would allow you to just login with a User object. Thanks, James ",,closed,Testing framework,1.2,,duplicate,,hv@…,Unreviewed,0,0,0,0,0,0