mirror of
https://github.com/bigchaindb/bigchaindb.git
synced 2024-10-13 13:34:05 +00:00
Add ssl, login, and passwd to configure command
This commit is contained in:
parent
441ad914cf
commit
699e615d47
@ -5,24 +5,48 @@ import os
|
||||
# PORT_NUMBER = reduce(lambda x, y: x * y, map(ord, 'BigchainDB')) % 2**16
|
||||
# basically, the port number is 9984
|
||||
|
||||
_database_rethinkdb = {
|
||||
'backend': os.environ.get('BIGCHAINDB_DATABASE_BACKEND', 'rethinkdb'),
|
||||
|
||||
_base_database_rethinkdb = {
|
||||
'host': os.environ.get('BIGCHAINDB_DATABASE_HOST', 'localhost'),
|
||||
'port': int(os.environ.get('BIGCHAINDB_DATABASE_PORT', 28015)),
|
||||
'name': os.environ.get('BIGCHAINDB_DATABASE_NAME', 'bigchain'),
|
||||
'connection_timeout': 5000,
|
||||
'max_tries': 3,
|
||||
}
|
||||
|
||||
_database_mongodb = {
|
||||
'backend': os.environ.get('BIGCHAINDB_DATABASE_BACKEND', 'mongodb'),
|
||||
# This might sound excessive, but having an order on the keys will
|
||||
# stress users (and us) less.
|
||||
_base_database_rethinkdb_keys = ('host', 'port', 'name')
|
||||
|
||||
_base_database_mongodb = {
|
||||
'host': os.environ.get('BIGCHAINDB_DATABASE_HOST', 'localhost'),
|
||||
'port': int(os.environ.get('BIGCHAINDB_DATABASE_PORT', 27017)),
|
||||
'name': os.environ.get('BIGCHAINDB_DATABASE_NAME', 'bigchain'),
|
||||
'replicaset': os.environ.get('BIGCHAINDB_DATABASE_REPLICASET', 'bigchain-rs'),
|
||||
'ssl': bool(os.environ.get('BIGCHAINDB_DATABASE_SSL', False)),
|
||||
'login': os.environ.get('BIGCHAINDB_DATABASE_LOGIN'),
|
||||
'password': os.environ.get('BIGCHAINDB_DATABASE_PASSWORD')
|
||||
}
|
||||
|
||||
_base_database_mongodb_keys = ('host', 'port', 'name', 'replicaset',
|
||||
'ssl', 'login', 'password')
|
||||
|
||||
_database_rethinkdb = {
|
||||
'backend': os.environ.get('BIGCHAINDB_DATABASE_BACKEND', 'rethinkdb'),
|
||||
'connection_timeout': 5000,
|
||||
'max_tries': 3,
|
||||
}
|
||||
_database_rethinkdb.update(_base_database_rethinkdb)
|
||||
|
||||
_database_mongodb = {
|
||||
'backend': os.environ.get('BIGCHAINDB_DATABASE_BACKEND', 'mongodb'),
|
||||
'connection_timeout': 5000,
|
||||
'max_tries': 3,
|
||||
}
|
||||
_database_mongodb.update(_base_database_mongodb)
|
||||
|
||||
_database_keys_map = {
|
||||
'mongodb': _base_database_mongodb_keys,
|
||||
'rethinkdb': _base_database_rethinkdb_keys
|
||||
}
|
||||
|
||||
_database_map = {
|
||||
'mongodb': _database_mongodb,
|
||||
|
@ -90,6 +90,7 @@ def run_configure(args, skip_if_exists=False):
|
||||
# select the correct config defaults based on the backend
|
||||
print('Generating default configuration for backend {}'
|
||||
.format(args.backend), file=sys.stderr)
|
||||
database_keys = bigchaindb._database_keys_map[args.backend]
|
||||
conf['database'] = bigchaindb._database_map[args.backend]
|
||||
|
||||
if not args.yes:
|
||||
@ -99,7 +100,7 @@ def run_configure(args, skip_if_exists=False):
|
||||
input_on_stderr('API Server {}? (default `{}`): '.format(key, val)) \
|
||||
or val
|
||||
|
||||
for key in ('host', 'port', 'name'):
|
||||
for key in database_keys:
|
||||
val = conf['database'][key]
|
||||
conf['database'][key] = \
|
||||
input_on_stderr('Database {}? (default `{}`): '.format(key, val)) \
|
||||
|
@ -19,6 +19,15 @@ def clean_config(monkeypatch, request):
|
||||
monkeypatch.setattr('bigchaindb.config', original_config)
|
||||
|
||||
|
||||
def test_ordered_keys_match_database_config():
|
||||
import bigchaindb
|
||||
|
||||
assert set(bigchaindb._base_database_rethinkdb.keys()) ==\
|
||||
set(bigchaindb._base_database_rethinkdb_keys)
|
||||
assert set(bigchaindb._base_database_mongodb.keys()) ==\
|
||||
set(bigchaindb._base_database_mongodb_keys)
|
||||
|
||||
|
||||
def test_bigchain_instance_is_initialized_when_conf_provided(request):
|
||||
import bigchaindb
|
||||
from bigchaindb import config_utils
|
||||
@ -181,6 +190,9 @@ def test_autoconfigure_read_both_from_file_and_env(monkeypatch, request):
|
||||
'connection_timeout': 5000,
|
||||
'max_tries': 3,
|
||||
'replicaset': 'bigchain-rs',
|
||||
'ssl': False,
|
||||
'login': None,
|
||||
'password': None
|
||||
}
|
||||
|
||||
database = {}
|
||||
|
Loading…
x
Reference in New Issue
Block a user