conftest.py
71 lines
| 2.1 KiB
| text/x-python
|
PythonLexer
r5088 | # Copyright (C) 2016-2023 RhodeCode GmbH | |||
r2187 | # | |||
# 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 os | ||||
import pytest | ||||
r4927 | import configparser | |||
r2187 | ||||
r5314 | from rhodecode.apps.ssh_support.lib.ssh_wrapper_v1 import SshWrapper | |||
r2187 | from rhodecode.lib.utils2 import AttributeDict | |||
r3946 | @pytest.fixture() | |||
r2187 | def dummy_conf_file(tmpdir): | |||
r2355 | conf = configparser.ConfigParser() | |||
r2187 | conf.add_section('app:main') | |||
conf.set('app:main', 'ssh.executable.hg', '/usr/bin/hg') | ||||
conf.set('app:main', 'ssh.executable.git', '/usr/bin/git') | ||||
conf.set('app:main', 'ssh.executable.svn', '/usr/bin/svnserve') | ||||
f_path = os.path.join(str(tmpdir), 'ssh_wrapper_test.ini') | ||||
r5087 | with open(f_path, 'wt') as f: | |||
r2187 | conf.write(f) | |||
return os.path.join(f_path) | ||||
r3098 | def plain_dummy_env(): | |||
r2187 | return { | |||
'request': | ||||
AttributeDict(host_url='http://localhost', script_name='/') | ||||
} | ||||
r3946 | @pytest.fixture() | |||
r3098 | def dummy_env(): | |||
return plain_dummy_env() | ||||
def plain_dummy_user(): | ||||
r5325 | return AttributeDict( | |||
user_id=1, | ||||
username='test_user' | ||||
) | ||||
r3098 | ||||
r3946 | @pytest.fixture() | |||
r2187 | def dummy_user(): | |||
r3098 | return plain_dummy_user() | |||
r2187 | ||||
r3946 | @pytest.fixture() | |||
r2187 | def ssh_wrapper(app, dummy_conf_file, dummy_env): | |||
conn_info = '127.0.0.1 22 10.0.0.1 443' | ||||
return SshWrapper( | ||||
'random command', conn_info, 'auto', 'admin', '1', key_id='1', | ||||
r5325 | shell=False, ini_path=dummy_conf_file, settings={}, env=dummy_env) | |||