def test_user_login_view_valid_user_wrong_pw(self): """ login view - try login with a valid username but wrong password the form does validate and no form error message is shown but a request.session message is displayed, see 'msg' """ from c3sar.views.user import login_view my_user = self._makeUser() self.dbsession.add(my_user) request = testing.DummyRequest( post={'submit': True, 'username': my_user.username, 'password': '******'}) self.config = testing.setUp(request=request) _registerRoutes(self.config) result = login_view(request) # test: form does not validate self.assertTrue(result['form'].form.validate(), "the form should validate, even with a wrong password") # test: unknown username self.assertEquals( result['form'].form.errors, {}, "expected NO error message") self.assertEquals(result['msg'], u"username and password didn't match!", "expected something in 'msg'")
def test_user_login_view_valid_user_invalidChar_pw(self): """ login view - try login with valid user but invalid characters in passw form should not validate and show error message """ from c3sar.views.user import login_view my_user = self._makeUser() self.dbsession.add(my_user) request = testing.DummyRequest( post={'submit': True, 'username': my_user.username, 'password': '******'}) self.config = testing.setUp(request=request) _registerRoutes(self.config) result = login_view(request) # test: form does not validate self.assertTrue(not result['form'].form.validate(), "the form should not validate," "because of invalid chars in password") # test: invalid characters in password self.assertEquals( result['form'].form.errors, {'password': u'Enter only letters, numbers, or _ (underscore)'}, "expected error message was not found")
def test_user_login_view(self): """ login view -- basic form """ from c3sar.views.user import login_view request = testing.DummyRequest() self.config = testing.setUp(request=request) _registerRoutes(self.config) result = login_view(request) #self.assertTrue('form' in result['form'].form., 'form was not seen.') self.assertTrue(not result['form'].form.is_validated, 'form validated unexpectedly.')
def test_user_login_view_valid_user_and_pw(self): """ login view -- try to log in with a valid username and pw """ from c3sar.views.user import login_view my_user = self._makeUser() self.dbsession.add(my_user) request = testing.DummyRequest( post={'submit': True, 'username': my_user.username, 'password': '******'}) # the right password self.config = testing.setUp(request=request) _registerRoutes(self.config) result = login_view(request) #pp.pprint(result) # <HTTPFound at ... 302 Found> # test: view returns a redirect self.assertTrue(isinstance(result, HTTPFound))
def test_user_login_view_already_loggedin(self): """ login view -- if already logged in """ from c3sar.views.user import login_view a_user = self._makeUser() self.dbsession.add(a_user) self.dbsession.flush() request = testing.DummyRequest() self.config = testing.setUp(request=request) self.config.testing_securitypolicy(userid=u'username') _registerRoutes(self.config) result = login_view(request) #print("login_view: ") #print(result) #print(result.headers) self.assertTrue(isinstance(result, HTTPFound))
def test_user_login_view_wrong_username(self): """ login view -- try to log in with a wrong username """ from c3sar.views.user import login_view request = testing.DummyRequest( post={'submit': True, 'username': u'paul', 'password': u'pass'}) self.config = testing.setUp(request=request) _registerRoutes(self.config) self.assertEquals(request.POST, {'submit': True, 'password': '******', 'username': '******'}) result = login_view(request) # test: form does not validate self.assertTrue(not result['form'].form.validate()) # test: unknown username self.assertEquals(result['form'].form.errors, {'username': '******'}, "expected error message not found")