Example #1
0
    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))
Example #2
0
 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")
Example #3
0
    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")
Example #4
0
    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")
Example #5
0
 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.')
Example #6
0
    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.')
Example #7
0
    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")