def test_user_register_submit_validate(self): """ register view -- and validate the form """ from c3sar.views.user import user_register request = testing.DummyRequest( post={'form.submitted': True, 'username': u'foo', 'password': u'passfoo123', 'confirm_password': u'passfoo123', 'city': u'foocity', 'surname': u'surfooname', 'lastname': u'lastfooname', 'number': u'foonumber', 'phone': u'foophone', 'street': u'foostreet', 'postcode': u'foocode', 'country': u'fooland', 'email': u'*****@*****.**', 'fax': '', }) self.config = testing.setUp(request=request) _registerRoutes(self.config) result = user_register(request) # test: view returns a redirect upon registration success self.assertTrue(isinstance(result, HTTPFound))
def test_user_register_submit_check_SecurePassword_len(self): """ register -- try to register a user with a TOO SHORT password in order to trigger c3sar.views.validators.SecurePassword """ from c3sar.views.user import user_register request = testing.DummyRequest( post={'form.submitted': True, 'username': u'firstUsername', 'password': u'passf00', # <-- 7 chars is TOO SHORT 'confirm_password': u'passf00', 'city': u'foocity', 'surname': u'surfooname', 'lastname': u'lastfooname', 'number': u'foonumber', 'phone': u'foophone', 'street': u'foostreet', 'postcode': u'foocode', 'country': u'fooland', 'email': u'*****@*****.**', 'fax': '', }) self.config = testing.setUp(request=request) _registerRoutes(self.config) result = user_register(request) #print "too short:" #print result #print result['form'].form.errors self.assertEquals( result['form'].form.errors, {'password': u'Your password must be longer than 8 characters long'}, "not the expected validation error messages")
def test_user_register_submit_check_UniqueUsername(self): """ register view -- try to register a user with a non-unique username in order to trigger c3sar.views.validators.UniqueUsername """ from c3sar.views.user import user_register instance = self._makeUser() self.dbsession.add(instance) self.dbsession.flush() request = testing.DummyRequest( post={'form.submitted': True, 'username': u'firstUsername', # <-- same as instance^ 'password': u'passf00bar', 'confirm_password': u'passf00bar', 'city': u'foocity', 'surname': u'surfooname', 'lastname': u'lastfooname', 'number': u'foonumber', 'phone': u'foophone', 'street': u'foostreet', 'postcode': u'foocode', 'country': u'fooland', 'email': u'*****@*****.**', 'fax': '', # dasowohl }) self.config = testing.setUp(request=request) result = user_register(request) self.assertEquals( result['form'].form.errors, {'username': '******'}, "not the expected validation error messages")
def test_user_register_submit(self): """ register view -- submit but don't validate the form """ from c3sar.views.user import user_register request = testing.DummyRequest( post={'form.submitted': True, 'username': u'foo', 'password': u'passfoo123'}) self.config = testing.setUp(request=request) result = user_register(request) #import pdb #pdb.set_trace() # test: form exists self.assertTrue('form' in result.items()[0], 'form was not seen.') # test: form does not validate self.assertTrue(not result['form'].form.validate(), 'form validated unexpectedly.') self.assertEquals( result['form'].form.errors, { 'confirm_password': u'Missing value', 'city': u'Missing value', 'surname': u'Missing value', 'lastname': u'Missing value', 'number': u'Missing value', 'phone': u'Missing value', 'street': u'Missing value', 'postcode': u'Missing value', 'country': u'Missing value', 'email': u'Missing value' }, "not the expected validation error messages")
def test_user_register_view(self): """ register view -- form test """ from c3sar.views.user import user_register request = testing.DummyRequest() self.config = testing.setUp(request=request) result = user_register(request) # test: a form exists self.assertTrue('form' in result, 'form was not seen.')
def test_user_register_not_validating(self): """ register view -- without validating the form """ from c3sar.views.user import user_register request = testing.DummyRequest() request.POST = {'username': "******"} self.config = testing.setUp(request=request) result = user_register(request) # test: form exists self.assertTrue('form' in result, 'form was not seen.') # test: form is not validated self.assertTrue(not result['form'].form.is_validated, 'form validated unexpectedly.')
def test_user_register_submit_check_SecurePassword_non_alpha(self): """ register -- try to register a user with a TOO SIMPLE password in order to trigger c3sar.views.validators.SecurePassword It must contain at least 2 digits or non-alhphabetic character """ from c3sar.views.user import user_register request = testing.DummyRequest( post={'form.submitted': True, 'username': u'firstUsername', 'password': u'passfoobar', # <-- 7 chars is TOO SIMPLE 'confirm_password': u'passfoobar', 'city': u'foocity', 'surname': u'surfooname', 'lastname': u'lastfooname', 'number': u'foonumber', 'phone': u'foophone', 'street': u'foostreet', 'postcode': u'foocode', 'country': u'fooland', 'email': u'*****@*****.**', 'fax': '', }) self.config = testing.setUp(request=request) _registerRoutes(self.config) result = user_register(request) #print "too alphabetic" #print result #print result['form'].form.errors self.assertEquals( result['form'].form.errors, {'password': u'You must include at least 2 non-alphabetic ' + 'characters in your password'}, "not the expected validation error messages")