##// END OF EJS Templates
env-variables: make it safer if there's a syntax problem inside .ini file....
env-variables: make it safer if there's a syntax problem inside .ini file. It's better to not crash, since it means server wont start. Let users fix problems instead of breaking the startup because of that.

File last commit:

r3098:97c1a8b7 default
r3237:5cf82ecc default
Show More
conftest.py
70 lines | 2.1 KiB | text/x-python | PythonLexer
ssh-support: enabled full handling of all backends via SSH....
r2187 # -*- coding: utf-8 -*-
release: update copyright year to 2018
r2487 # Copyright (C) 2016-2018 RhodeCode GmbH
ssh-support: enabled full handling of all backends via SSH....
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
compat: use py3 compatible configparser in all places.
r2355 from pyramid.compat import configparser
ssh-support: enabled full handling of all backends via SSH....
r2187
from rhodecode.apps.ssh_support.lib.ssh_wrapper import SshWrapper
from rhodecode.lib.utils2 import AttributeDict
@pytest.fixture
def dummy_conf_file(tmpdir):
compat: use py3 compatible configparser in all places.
r2355 conf = configparser.ConfigParser()
ssh-support: enabled full handling of all backends via SSH....
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')
with open(f_path, 'wb') as f:
conf.write(f)
return os.path.join(f_path)
dan
tests: fixed some pytest deprecated calls, and warnings.
r3098 def plain_dummy_env():
ssh-support: enabled full handling of all backends via SSH....
r2187 return {
'request':
AttributeDict(host_url='http://localhost', script_name='/')
}
@pytest.fixture
dan
tests: fixed some pytest deprecated calls, and warnings.
r3098 def dummy_env():
return plain_dummy_env()
def plain_dummy_user():
return AttributeDict(username='test_user')
@pytest.fixture
ssh-support: enabled full handling of all backends via SSH....
r2187 def dummy_user():
dan
tests: fixed some pytest deprecated calls, and warnings.
r3098 return plain_dummy_user()
ssh-support: enabled full handling of all backends via SSH....
r2187
@pytest.fixture
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',
shell=False, ini_path=dummy_conf_file, env=dummy_env)