Files
deb-python-dcos/integrations/cli/test_config.py
José Armando García Sancio 3ae276abb5 Fix master build
TeamCity is running the latest version of flake8 which is catching more
syntax errors. This changes fixes those new errors. As part of this
change we are also running the syntax checks against the tests and
integrations directories.
2015-03-09 14:18:39 -07:00

122 lines
3.3 KiB
Python

import os
import pytest
from common import exec_command
@pytest.fixture
def env():
return {
'PATH': os.environ['PATH'],
'DCOS_PATH': os.environ['DCOS_PATH'],
'DCOS_CONFIG': os.path.join("tests", "data", "Dcos.toml")
}
def test_help():
returncode, stdout, stderr = exec_command(['dcos', 'config', '--help'])
assert returncode == 0
assert stdout == b"""Usage:
dcos config info
dcos config <name> [<value>]
dcos config --unset <name>
dcos config --list
Options:
-h, --help Show this screen
--version Show version
--unset Remove property from the config file
"""
assert stderr == b''
def test_info():
returncode, stdout, stderr = exec_command(['dcos', 'config', 'info'])
assert returncode == 0
assert stdout == b'Get and set DCOS command line options\n'
assert stderr == b''
def test_version():
returncode, stdout, stderr = exec_command(['dcos', 'config', '--version'])
assert returncode == 0
assert stdout == b'dcos-config version 0.1.0\n'
assert stderr == b''
def test_list_property(env):
returncode, stdout, stderr = exec_command(['dcos', 'config', '--list'],
env)
assert returncode == 0
assert stdout == b"""marathon.host=localhost
marathon.port=8080
package.cache=tmp/cache
package.sources=['git://github.com/mesosphere/universe.git', \
'https://github.com/mesosphere/universe/archive/master.zip']
"""
assert stderr == b''
def test_get_existing_property(env):
_get_value('marathon.host', 'localhost', env)
def test_get_missing_proerty(env):
_get_missing_value('missing.property', env)
def test_set_existing_property(env):
_set_value('marathon.host', 'newhost', env)
_get_value('marathon.host', 'newhost', env)
_set_value('marathon.host', 'localhost', env)
def test_unset_property(env):
_unset_value('marathon.host', env)
_get_missing_value('marathon.host', env)
_set_value('marathon.host', 'localhost', env)
def test_set_missing_property(env):
_set_value('path.to.value', 'cool new value', env)
_get_value('path.to.value', 'cool new value', env)
_unset_value('path.to.value', env)
def _set_value(key, value, env):
returncode, stdout, stderr = exec_command(['dcos', 'config', key, value],
env)
assert returncode == 0
assert stdout == b''
assert stderr == b''
def _get_value(key, value, env):
returncode, stdout, stderr = exec_command(['dcos', 'config', key],
env)
assert returncode == 0
assert stdout == '{}\n'.format(value).encode('utf-8')
assert stderr == b''
def _unset_value(key, env):
returncode, stdout, stderr = exec_command(['dcos',
'config',
'--unset',
key],
env)
assert returncode == 0
assert stdout == b''
assert stderr == b''
def _get_missing_value(key, env):
returncode, stdout, stderr = exec_command(['dcos', 'config', key],
env)
assert returncode == 1
assert stdout == b''
assert stderr == b''