Ejemplo n.º 1
0
    def test_create_err(self):
        self.log_user()
        username = '******'
        password = ''
        name = 'name'
        lastname = 'lastname'
        email = 'errmail.com'

        response = self.app.post(
            url('users'), {
                'username': username,
                'password': password,
                'name': name,
                'active': False,
                'lastname': lastname,
                'email': email
            })

        msg = validators.ValidUsername(False,
                                       {})._messages['system_invalid_username']
        msg = h.html_escape(msg % {'username': '******'})
        response.mustcontain("""<span class="error-message">%s</span>""" % msg)
        response.mustcontain(
            """<span class="error-message">Please enter a value</span>""")
        response.mustcontain(
            """<span class="error-message">An email address must contain a single @</span>"""
        )

        def get_user():
            self.Session.query(User).filter(User.username == username).one()

        self.assertRaises(NoResultFound, get_user), 'found user in database'
Ejemplo n.º 2
0
    def test_forgot_password_wrong_mail(self):
        bad_email = "*****@*****.**"
        response = self.app.post(url(controller="login", action="password_reset"), {"email": bad_email})

        msg = validators.ValidSystemEmail()._messages["non_existing_email"]
        msg = h.html_escape(msg % {"email": bad_email})
        response.mustcontain()
Ejemplo n.º 3
0
    def test_create_err(self):
        self.log_user()
        username = '******'
        password = ''
        name = 'name'
        lastname = 'lastname'
        email = 'errmail.com'

        response = self.app.post(url('users'), {'username': username,
                                               'password': password,
                                               'name': name,
                                               'active': False,
                                               'lastname': lastname,
                                               'email': email})

        msg = validators.ValidUsername(False, {})._messages['system_invalid_username']
        msg = h.html_escape(msg % {'username': '******'})
        response.mustcontain("""<span class="error-message">%s</span>""" % msg)
        response.mustcontain("""<span class="error-message">Please enter a value</span>""")
        response.mustcontain("""<span class="error-message">An email address must contain a single @</span>""")

        def get_user():
            Session().query(User).filter(User.username == username).one()

        self.assertRaises(NoResultFound, get_user), 'found user in database'
Ejemplo n.º 4
0
    def test_create_err(self):
        self.log_user()
        username = "******"
        password = ""
        name = "name"
        lastname = "lastname"
        email = "errmail.com"

        response = self.app.post(
            url("users"),
            {
                "username": username,
                "password": password,
                "name": name,
                "active": False,
                "lastname": lastname,
                "email": email,
            },
        )

        msg = validators.ValidUsername(False, {})._messages["system_invalid_username"]
        msg = h.html_escape(msg % {"username": "******"})
        response.mustcontain("""<span class="error-message">%s</span>""" % msg)
        response.mustcontain("""<span class="error-message">Please enter a value</span>""")
        response.mustcontain("""<span class="error-message">An email address must contain a single @</span>""")

        def get_user():
            self.Session.query(User).filter(User.username == username).one()

        self.assertRaises(NoResultFound, get_user), "found user in database"
Ejemplo n.º 5
0
    def test_forgot_password_wrong_mail(self):
        bad_email = '*****@*****.**'
        response = self.app.post(pwd_reset_url, {
            'email': bad_email,
        })

        msg = validators.ValidSystemEmail()._messages['non_existing_email']
        msg = h.html_escape(msg % {'email': bad_email})
        response.mustcontain()
Ejemplo n.º 6
0
    def test_forgot_password_wrong_mail(self):
        bad_email = '*****@*****.**'
        response = self.app.post(
                        url(controller='login', action='password_reset'),
                            {'email': bad_email, }
        )

        msg = validators.ValidSystemEmail()._messages['non_existing_email']
        msg = h.html_escape(msg % {'email': bad_email})
        response.mustcontain()
Ejemplo n.º 7
0
    def test_register_err_same_username(self):
        uname = 'test_admin'
        response = self.app.post(url(controller='login', action='register'),
                                            {'username': uname,
                                             'password': '******',
                                             'password_confirmation': 'test12',
                                             'email': '*****@*****.**',
                                             'firstname': 'test',
                                             'lastname': 'test'})

        msg = validators.ValidUsername()._messages['username_exists']
        msg = h.html_escape(msg % {'username': uname})
        response.mustcontain(msg)
Ejemplo n.º 8
0
    def test_register_err_case_sensitive(self):
        usr = '******'
        response = self.app.post(url(controller='login', action='register'),
                                            {'username': usr,
                                             'password': '******',
                                             'password_confirmation': 'test12',
                                             'email': 'goodmailm',
                                             'firstname': 'test',
                                             'lastname': 'test'})

        response.mustcontain('An email address must contain a single @')
        msg = validators.ValidUsername()._messages['username_exists']
        msg = h.html_escape(msg % {'username': usr})
        response.mustcontain(msg)
Ejemplo n.º 9
0
    def test_register_err_same_username(self):
        uname = 'test_admin'
        response = self.app.post(
            url(controller='login', action='register'), {
                'username': uname,
                'password': '******',
                'password_confirmation': 'test12',
                'email': '*****@*****.**',
                'firstname': 'test',
                'lastname': 'test'
            })

        msg = validators.ValidUsername()._messages['username_exists']
        msg = h.html_escape(msg % {'username': uname})
        response.mustcontain(msg)
Ejemplo n.º 10
0
    def test_register_err_case_sensitive(self):
        usr = '******'
        response = self.app.post(
            url(controller='login', action='register'), {
                'username': usr,
                'password': '******',
                'password_confirmation': 'test12',
                'email': 'goodmailm',
                'firstname': 'test',
                'lastname': 'test'
            })

        response.mustcontain('An email address must contain a single @')
        msg = validators.ValidUsername()._messages['username_exists']
        msg = h.html_escape(msg % {'username': usr})
        response.mustcontain(msg)
Ejemplo n.º 11
0
    def test_register_err_same_username(self):
        uname = "test_admin"
        response = self.app.post(
            url(controller="login", action="register"),
            {
                "username": uname,
                "password": "******",
                "password_confirmation": "test12",
                "email": "*****@*****.**",
                "firstname": "test",
                "lastname": "test",
            },
        )

        msg = validators.ValidUsername()._messages["username_exists"]
        msg = h.html_escape(msg % {"username": uname})
        response.mustcontain(msg)
Ejemplo n.º 12
0
    def test_register_err_case_sensitive(self):
        usr = "******"
        response = self.app.post(
            url(controller="login", action="register"),
            {
                "username": usr,
                "password": "******",
                "password_confirmation": "test12",
                "email": "goodmailm",
                "firstname": "test",
                "lastname": "test",
            },
        )

        response.mustcontain("An email address must contain a single @")
        msg = validators.ValidUsername()._messages["username_exists"]
        msg = h.html_escape(msg % {"username": usr})
        response.mustcontain(msg)
Ejemplo n.º 13
0
    def test_my_account_update_err(self):
        self.log_user('test_regular2', 'test12')

        new_email = 'newmail.pl'
        response = self.app.post(url('admin_settings_my_account_update'),
                                 params=dict(
                                            _method='put',
                                            username='******',
                                            new_password='******',
                                            password_confirmation='test122',
                                            firstname='NewName',
                                            lastname='NewLastname',
                                            email=new_email,)
                                 )

        response.mustcontain('An email address must contain a single @')
        from rhodecode.model import validators
        msg = validators.ValidUsername(edit=False,
                                    old_data={})._messages['username_exists']
        msg = h.html_escape(msg % {'username': '******'})
        response.mustcontain(u"%s" % msg)
Ejemplo n.º 14
0
    def test_my_account_update_err(self):
        self.log_user('test_regular2', 'test12')

        new_email = 'newmail.pl'
        response = self.app.post(url('admin_settings_my_account_update'),
                                 params=dict(
                                     _method='put',
                                     username='******',
                                     new_password='******',
                                     password_confirmation='test122',
                                     firstname='NewName',
                                     lastname='NewLastname',
                                     email=new_email,
                                 ))

        response.mustcontain('An email address must contain a single @')
        from rhodecode.model import validators
        msg = validators.ValidUsername(
            edit=False, old_data={})._messages['username_exists']
        msg = h.html_escape(msg % {'username': '******'})
        response.mustcontain(u"%s" % msg)
    def test_my_account_update_err(self):
        self.log_user('test_regular2', 'test12')

        new_email = 'newmail.pl'
        response = self.app.post(url('my_account'),
                                 params={
                                     'username': '******',
                                     'new_password': '******',
                                     'password_confirmation': 'test122',
                                     'firstname': 'NewName',
                                     'lastname': 'NewLastname',
                                     'email': new_email,
                                     'csrf_token': self.csrf_token,
                                 })

        response.mustcontain('An email address must contain a single @')
        from rhodecode.model import validators
        msg = validators.ValidUsername(
            edit=False, old_data={})._messages['username_exists']
        msg = h.html_escape(msg % {'username': '******'})
        response.mustcontain(u"%s" % msg)
Ejemplo n.º 16
0
    def diff_2way(self, repo_name, f_path):
        diff1 = request.GET.get('diff1', '')
        diff2 = request.GET.get('diff2', '')
        try:
            if diff1 not in ['', None, 'None', '0' * 12, '0' * 40]:
                c.changeset_1 = c.rhodecode_repo.get_changeset(diff1)
                try:
                    node1 = c.changeset_1.get_node(f_path)
                    if node1.is_dir():
                        raise NodeError('%s path is a %s not a file'
                                        % (node1, type(node1)))
                except NodeDoesNotExistError:
                    c.changeset_1 = EmptyChangeset(cs=diff1,
                                                   revision=c.changeset_1.revision,
                                                   repo=c.rhodecode_repo)
                    node1 = FileNode(f_path, '', changeset=c.changeset_1)
            else:
                c.changeset_1 = EmptyChangeset(repo=c.rhodecode_repo)
                node1 = FileNode(f_path, '', changeset=c.changeset_1)

            if diff2 not in ['', None, 'None', '0' * 12, '0' * 40]:
                c.changeset_2 = c.rhodecode_repo.get_changeset(diff2)
                try:
                    node2 = c.changeset_2.get_node(f_path)
                    if node2.is_dir():
                        raise NodeError('%s path is a %s not a file'
                                        % (node2, type(node2)))
                except NodeDoesNotExistError:
                    c.changeset_2 = EmptyChangeset(cs=diff2,
                                                   revision=c.changeset_2.revision,
                                                   repo=c.rhodecode_repo)
                    node2 = FileNode(f_path, '', changeset=c.changeset_2)
            else:
                c.changeset_2 = EmptyChangeset(repo=c.rhodecode_repo)
                node2 = FileNode(f_path, '', changeset=c.changeset_2)
        except (RepositoryError, NodeError):
            log.error(traceback.format_exc())
            return redirect(url('files_home', repo_name=c.repo_name,
                                f_path=f_path))
        if node2.is_binary:
            node2_content = 'binary file'
        else:
            node2_content = node2.content

        if node1.is_binary:
            node1_content = 'binary file'
        else:
            node1_content = node1.content

        html_escape_table = {
            "&": "\u0026",
            '"': "\u0022",
            "'": "\u0027",
            ">": "\u003e",
            "<": "\u003c",
            '\\': "\u005c",
            '\n': '\\n'
        }

        c.orig1 = h.html_escape((node1_content), html_escape_table)
        c.orig2 = h.html_escape((node2_content), html_escape_table)
        c.node1 = node1
        c.node2 = node2
        c.cs1 = c.changeset_1
        c.cs2 = c.changeset_2

        return render('files/diff_2way.html')
Ejemplo n.º 17
0
 def desc(desc):
     if c.visual.stylify_metatags:
         return h.urlify_text(h.escaped_stylize(h.truncate(desc, 60)))
     else:
         return h.urlify_text(h.html_escape(h.truncate(desc, 60)))
Ejemplo n.º 18
0
    def diff_2way(self, repo_name, f_path):
        diff1 = request.GET.get('diff1', '')
        diff2 = request.GET.get('diff2', '')
        try:
            if diff1 not in ['', None, 'None', '0' * 12, '0' * 40]:
                c.changeset_1 = c.rhodecode_repo.get_changeset(diff1)
                try:
                    node1 = c.changeset_1.get_node(f_path)
                    if node1.is_dir():
                        raise NodeError('%s path is a %s not a file' %
                                        (node1, type(node1)))
                except NodeDoesNotExistError:
                    c.changeset_1 = EmptyChangeset(
                        cs=diff1,
                        revision=c.changeset_1.revision,
                        repo=c.rhodecode_repo)
                    node1 = FileNode(f_path, '', changeset=c.changeset_1)
            else:
                c.changeset_1 = EmptyChangeset(repo=c.rhodecode_repo)
                node1 = FileNode(f_path, '', changeset=c.changeset_1)

            if diff2 not in ['', None, 'None', '0' * 12, '0' * 40]:
                c.changeset_2 = c.rhodecode_repo.get_changeset(diff2)
                try:
                    node2 = c.changeset_2.get_node(f_path)
                    if node2.is_dir():
                        raise NodeError('%s path is a %s not a file' %
                                        (node2, type(node2)))
                except NodeDoesNotExistError:
                    c.changeset_2 = EmptyChangeset(
                        cs=diff2,
                        revision=c.changeset_2.revision,
                        repo=c.rhodecode_repo)
                    node2 = FileNode(f_path, '', changeset=c.changeset_2)
            else:
                c.changeset_2 = EmptyChangeset(repo=c.rhodecode_repo)
                node2 = FileNode(f_path, '', changeset=c.changeset_2)
        except (RepositoryError, NodeError):
            log.error(traceback.format_exc())
            return redirect(
                url('files_home', repo_name=c.repo_name, f_path=f_path))
        if node2.is_binary:
            node2_content = 'binary file'
        else:
            node2_content = node2.content

        if node1.is_binary:
            node1_content = 'binary file'
        else:
            node1_content = node1.content

        html_escape_table = {
            "&": "\u0026",
            '"': "\u0022",
            "'": "\u0027",
            ">": "\u003e",
            "<": "\u003c",
            '\\': "\u005c",
            '\n': '\\n'
        }

        c.orig1 = h.html_escape((node1_content), html_escape_table)
        c.orig2 = h.html_escape((node2_content), html_escape_table)
        c.node1 = node1
        c.node2 = node2
        c.cs1 = c.changeset_1
        c.cs2 = c.changeset_2

        return render('files/diff_2way.html')