test_settings.py
75 lines
| 2.8 KiB
| text/x-python
|
PythonLexer
r5608 | # Copyright (C) 2016-2024 RhodeCode GmbH | |||
Martin Bornhold
|
r235 | # | ||
# This program is free software: you can redistribute it and/or modify | ||||
# it under the terms of the GNU Affero General Public License, version 3 | ||||
# (only), as published by the Free Software Foundation. | ||||
# | ||||
# This program is distributed in the hope that it will be useful, | ||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||||
# GNU General Public License for more details. | ||||
# | ||||
# You should have received a copy of the GNU Affero General Public License | ||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. | ||||
# | ||||
# This program is dual-licensed. If you wish to learn more about the | ||||
# RhodeCode Enterprise Edition, including its added features, Support services, | ||||
# and proprietary license terms, please see https://rhodecode.com/licenses/ | ||||
import pytest | ||||
from rhodecode.authentication.tests.conftest import ( | ||||
EnabledAuthPlugin, DisabledAuthPlugin) | ||||
r2309 | from rhodecode.apps._base import ADMIN_PREFIX | |||
Martin Bornhold
|
r235 | |||
@pytest.mark.usefixtures('autologin_user', 'app') | ||||
class TestAuthenticationSettings: | ||||
def test_auth_settings_global_view_get(self, app): | ||||
r5094 | url = f'{ADMIN_PREFIX}/auth/' | |||
Martin Bornhold
|
r235 | response = app.get(url) | ||
assert response.status_code == 200 | ||||
def test_plugin_settings_view_get(self, app, auth_plugin): | ||||
url = '{prefix}/auth/{name}'.format( | ||||
prefix=ADMIN_PREFIX, | ||||
name=auth_plugin.name) | ||||
with EnabledAuthPlugin(auth_plugin): | ||||
response = app.get(url) | ||||
assert response.status_code == 200 | ||||
r238 | def test_plugin_settings_view_post(self, app, auth_plugin, csrf_token): | |||
url = '{prefix}/auth/{name}'.format( | ||||
prefix=ADMIN_PREFIX, | ||||
name=auth_plugin.name) | ||||
params = { | ||||
'enabled': True, | ||||
'cache_ttl': 0, | ||||
'csrf_token': csrf_token, | ||||
} | ||||
with EnabledAuthPlugin(auth_plugin): | ||||
response = app.post(url, params=params) | ||||
assert response.status_code in [200, 302] | ||||
Martin Bornhold
|
r235 | def test_plugin_settings_view_get_404(self, app, auth_plugin): | ||
url = '{prefix}/auth/{name}'.format( | ||||
prefix=ADMIN_PREFIX, | ||||
name=auth_plugin.name) | ||||
with DisabledAuthPlugin(auth_plugin): | ||||
response = app.get(url, status=404) | ||||
assert response.status_code == 404 | ||||
r238 | ||||
def test_plugin_settings_view_post_404(self, app, auth_plugin, csrf_token): | ||||
url = '{prefix}/auth/{name}'.format( | ||||
prefix=ADMIN_PREFIX, | ||||
name=auth_plugin.name) | ||||
params = { | ||||
'enabled': True, | ||||
'cache_ttl': 0, | ||||
'csrf_token': csrf_token, | ||||
} | ||||
with DisabledAuthPlugin(auth_plugin): | ||||
response = app.post(url, params=params, status=404) | ||||
assert response.status_code == 404 | ||||