diff --git a/cli/tests/unit/test_task.py b/cli/tests/unit/test_task.py index 6b9be81..a03b50d 100644 --- a/cli/tests/unit/test_task.py +++ b/cli/tests/unit/test_task.py @@ -9,7 +9,10 @@ from mock import MagicMock, patch from .common import assert_mock -def test_log_master_unavailable(): +@patch('dcos.util.get_config') +def test_log_master_unavailable(config_mock): + config_mock.return_value = {'core.dcos_url': 'foo'} + """ Test master's state.json being unavailable """ client = mesos.DCOSClient() client.get_master_state = _mock_exception() diff --git a/dcos/mesos.py b/dcos/mesos.py index f7a07c6..2f6ed54 100644 --- a/dcos/mesos.py +++ b/dcos/mesos.py @@ -30,14 +30,11 @@ class DCOSClient(object): def __init__(self): config = util.get_config() - self._dcos_url = None - self._mesos_master_url = None - mesos_master_url = config.get('core.mesos_master_url') - if mesos_master_url is None: - self._dcos_url = util.get_config_vals(['core.dcos_url'], config)[0] - else: - self._mesos_master_url = mesos_master_url + self._dcos_url = config.get("core.dcos_url") + if self._dcos_url is None: + raise util.missing_config_exception(['core.dcos_url']) + self._mesos_master_url = config.get('core.mesos_master_url') self._timeout = config.get('core.timeout') @@ -49,10 +46,8 @@ class DCOSClient(object): :returns: DCOS URL :rtype: str """ - if self._dcos_url: - return urllib.parse.urljoin(self._dcos_url, path) - else: - raise util.missing_config_exception('core.dcos_url') + + return urllib.parse.urljoin(self._dcos_url, path) def master_url(self, path): """ Create a master URL @@ -83,11 +78,11 @@ class DCOSClient(object): """ - if self._dcos_url: + if self._mesos_master_url: + return urllib.parse.urljoin(private_url, path) + else: return urllib.parse.urljoin(self._dcos_url, 'slave/{}/{}'.format(slave_id, path)) - else: - return urllib.parse.urljoin(private_url, path) def get_master_state(self): """Get the Mesos master state json object