Files @ 6af3e67cc576
Branch filter:

Location: kallithea/rhodecode/tests/functional/test_admin_settings.py - annotation

Bradley M. Kuhn
Add Twitter's Bootstrap 3.0.0 CSS and Javascript files, under Apache License 2.0

These files are exactly as they appear the upstream release 3.0.0 of
Bootstrap, which Twitter released under the Apache License 2.0. To extract
these files, I did the following:

I downloaded the following file:
https://github.com/twbs/bootstrap/archive/v3.0.0.zip

with sha256sum of:
$ sha256sum v3.0.0.zip
2d54f345f4abc6bf65ea648c323e9bae577e6febf755650e62555f2d7a222e17 v3.0.0.zip

And extracted from it these two files:
bootstrap-3.0.0/dist/css/bootstrap.css
bootstrap-3.0.0/dist/js/bootstrap.js
which are licensed under the Apache License 2.0.

and placed them into:
rhodecode/public/css/bootstrap.css
rhodecode/public/js/bootstrap.js
respectively.
9c0f5d558789
9c0f5d558789
101a407827e8
ffd45b185016
1e757ac98988
ffd45b185016
4419551b2915
6ce3387bf0ce
d2901d906ef3
d7488551578e
4419551b2915
ffd45b185016
ffd45b185016
1e757ac98988
7486da5f0628
1e757ac98988
ffd45b185016
ffd45b185016
1e757ac98988
1e757ac98988
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
1e757ac98988
ffd45b185016
ffd45b185016
ffd45b185016
1e757ac98988
ffd45b185016
ffd45b185016
ffd45b185016
1e757ac98988
ffd45b185016
ffd45b185016
ffd45b185016
1e757ac98988
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
1e757ac98988
ffd45b185016
ffd45b185016
ffd45b185016
1e757ac98988
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
1e757ac98988
ffd45b185016
ffd45b185016
ffd45b185016
1e757ac98988
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
1e757ac98988
ffd45b185016
ffd45b185016
ffd45b185016
1e757ac98988
ffd45b185016
ffd45b185016
ffd45b185016
1e757ac98988
ead7be02283b
ead7be02283b
ead7be02283b
ead7be02283b
ead7be02283b
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ead7be02283b
c310e1e1e757
c310e1e1e757
2c0d35e336b5
9c0f5d558789
ead7be02283b
ead7be02283b
6ce3387bf0ce
ead7be02283b
ead7be02283b
ead7be02283b
ead7be02283b
ead7be02283b
ead7be02283b
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ead7be02283b
4f80df0d45c8
2c0d35e336b5
9c0f5d558789
ead7be02283b
ead7be02283b
63e49418a4cc
ead7be02283b
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ead7be02283b
ead7be02283b
ead7be02283b
ead7be02283b
ead7be02283b
9c0f5d558789
9c0f5d558789
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ffd45b185016
ead7be02283b
c310e1e1e757
2c0d35e336b5
9c0f5d558789
9c0f5d558789
ead7be02283b
9c0f5d558789
ffd45b185016
# -*- coding: utf-8 -*-

from rhodecode.lib.auth import get_crypt_password, check_password
from rhodecode.model.db import User, RhodeCodeSetting, Repository, RhodeCodeUi
from rhodecode.tests import *
from rhodecode.tests.fixture import Fixture
from rhodecode.lib import helpers as h
from rhodecode.model.user import UserModel
from rhodecode.model.scm import ScmModel
from rhodecode.model.meta import Session

fixture = Fixture()


class TestAdminSettingsController(TestController):

    def test_index_main(self):
        self.log_user()
        response = self.app.get(url('admin_settings'))

    def test_index_mapping(self):
        self.log_user()
        response = self.app.get(url('admin_settings_mapping'))

    def test_index_global(self):
        self.log_user()
        response = self.app.get(url('admin_settings_global'))

    def test_index_visual(self):
        self.log_user()
        response = self.app.get(url('admin_settings_visual'))

    def test_index_email(self):
        self.log_user()
        response = self.app.get(url('admin_settings_email'))

    def test_index_hooks(self):
        self.log_user()
        response = self.app.get(url('admin_settings_hooks'))

    def test_create_custom_hook(self):
        self.log_user()
        response = self.app.post(url('admin_settings_hooks'),
                                params=dict(new_hook_ui_key='test_hooks_1',
                                            new_hook_ui_value='cd /tmp'))

        response = response.follow()
        response.mustcontain('test_hooks_1')
        response.mustcontain('cd /tmp')

    def test_create_custom_hook_delete(self):
        self.log_user()
        response = self.app.post(url('admin_settings_hooks'),
                                params=dict(new_hook_ui_key='test_hooks_2',
                                            new_hook_ui_value='cd /tmp2'))

        response = response.follow()
        response.mustcontain('test_hooks_2')
        response.mustcontain('cd /tmp2')

        hook_id = RhodeCodeUi.get_by_key('test_hooks_2').ui_id
        ## delete
        self.app.post(url('admin_settings_hooks'),
                        params=dict(hook_id=hook_id))
        response = self.app.get(url('admin_settings_hooks'))
        response.mustcontain(no=['test_hooks_2'])
        response.mustcontain(no=['cd /tmp2'])

    def test_index_search(self):
        self.log_user()
        response = self.app.get(url('admin_settings_search'))

    def test_index_system(self):
        self.log_user()
        response = self.app.get(url('admin_settings_system'))

    def test_ga_code_active(self):
        self.log_user()
        old_title = 'RhodeCode'
        old_realm = 'RhodeCode authentication'
        new_ga_code = 'ga-test-123456789'
        response = self.app.post(url('admin_settings_global'),
                        params=dict(rhodecode_title=old_title,
                                 rhodecode_realm=old_realm,
                                 rhodecode_ga_code=new_ga_code,
                                 rhodecode_captcha_private_key='',
                                 rhodecode_captcha_public_key='',
                                 ))

        self.checkSessionFlash(response, 'Updated application settings')

        self.assertEqual(RhodeCodeSetting
                         .get_app_settings()['rhodecode_ga_code'], new_ga_code)

        response = response.follow()
        response.mustcontain("""_gaq.push(['_setAccount', '%s']);""" % new_ga_code)

    def test_ga_code_inactive(self):
        self.log_user()
        old_title = 'RhodeCode'
        old_realm = 'RhodeCode authentication'
        new_ga_code = ''
        response = self.app.post(url('admin_settings_global'),
                        params=dict(rhodecode_title=old_title,
                                 rhodecode_realm=old_realm,
                                 rhodecode_ga_code=new_ga_code,
                                 rhodecode_captcha_private_key='',
                                 rhodecode_captcha_public_key='',
                                 ))

        self.checkSessionFlash(response, 'Updated application settings')
        self.assertEqual(RhodeCodeSetting
                        .get_app_settings()['rhodecode_ga_code'], new_ga_code)

        response = response.follow()
        response.mustcontain(no=["_gaq.push(['_setAccount', '%s']);" % new_ga_code])

    def test_captcha_activate(self):
        self.log_user()
        old_title = 'RhodeCode'
        old_realm = 'RhodeCode authentication'
        new_ga_code = ''
        response = self.app.post(url('admin_settings_global'),
                        params=dict(rhodecode_title=old_title,
                                 rhodecode_realm=old_realm,
                                 rhodecode_ga_code=new_ga_code,
                                 rhodecode_captcha_private_key='1234567890',
                                 rhodecode_captcha_public_key='1234567890',
                                 ))

        self.checkSessionFlash(response, 'Updated application settings')
        self.assertEqual(RhodeCodeSetting
                        .get_app_settings()['rhodecode_captcha_private_key'], '1234567890')

        response = self.app.get(url('register'))
        response.mustcontain('captcha')

    def test_captcha_deactivate(self):
        self.log_user()
        old_title = 'RhodeCode'
        old_realm = 'RhodeCode authentication'
        new_ga_code = ''
        response = self.app.post(url('admin_settings_global'),
                        params=dict(rhodecode_title=old_title,
                                 rhodecode_realm=old_realm,
                                 rhodecode_ga_code=new_ga_code,
                                 rhodecode_captcha_private_key='',
                                 rhodecode_captcha_public_key='1234567890',
                                 ))

        self.checkSessionFlash(response, 'Updated application settings')
        self.assertEqual(RhodeCodeSetting
                        .get_app_settings()['rhodecode_captcha_private_key'], '')

        response = self.app.get(url('register'))
        response.mustcontain(no=['captcha'])

    def test_title_change(self):
        self.log_user()
        old_title = 'RhodeCode'
        new_title = old_title + '_changed'
        old_realm = 'RhodeCode authentication'

        for new_title in ['Changed', 'Żółwik', old_title]:
            response = self.app.post(url('admin_settings_global'),
                        params=dict(rhodecode_title=new_title,
                                 rhodecode_realm=old_realm,
                                 rhodecode_ga_code='',
                                 rhodecode_captcha_private_key='',
                                 rhodecode_captcha_public_key='',
                                ))

            self.checkSessionFlash(response, 'Updated application settings')
            self.assertEqual(RhodeCodeSetting
                             .get_app_settings()['rhodecode_title'],
                             new_title.decode('utf-8'))

            response = response.follow()
            response.mustcontain("""<div class="branding">- %s</div>""" % new_title)