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