diff --git a/bigchaindb/config_utils.py b/bigchaindb/config_utils.py index 0ce41360..53eb7954 100644 --- a/bigchaindb/config_utils.py +++ b/bigchaindb/config_utils.py @@ -185,15 +185,14 @@ def autoconfigure(filename=None, config=None, force=False): newconfig = env_config(bigchaindb.config) - if config: - newconfig = update(newconfig, config) - try: - # import pdb; pdb.set_trace() newconfig = update(newconfig, file_config(filename=filename)) except FileNotFoundError as e: logger.warning('Cannot find config file `%s`.' % e.filename) + if config: + newconfig = update(newconfig, config) + dict_config(newconfig) return newconfig diff --git a/tests/conftest.py b/tests/conftest.py index 40500a9f..44de6316 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -42,6 +42,7 @@ def ignore_local_config_file(monkeypatch): @pytest.fixture +@pytest.fixture(scope='function', autouse=True) def restore_config(request, node_config): from bigchaindb import config_utils config_utils.dict_config(node_config) diff --git a/tests/test_commands.py b/tests/test_commands.py index 64918cd4..c289f279 100644 --- a/tests/test_commands.py +++ b/tests/test_commands.py @@ -94,15 +94,18 @@ def test_bigchain_run_start_assume_yes_create_default_config(monkeypatch, mock_p # TODO Please beware, that if debugging, the "-s" switch for pytest will # interfere with capsys. # See related issue: https://github.com/pytest-dev/pytest/issues/128 +@pytest.mark.usefixtures('restore_config') def test_bigchain_show_config(capsys): from bigchaindb import config from bigchaindb.commands.bigchain import run_show_config + args = Namespace(config=None) _, _ = capsys.readouterr() run_show_config(args) - output_config, _ = capsys.readouterr() + output_config = json.loads(capsys.readouterr()[0]) del config['CONFIGURED'] - assert output_config.strip() == json.dumps(config, indent=4, sort_keys=True) + config['keypair']['private'] = 'x' * 45 + assert output_config == config def test_bigchain_run_init_when_db_exists(mock_db_init_with_existing_db):