コード例 #1
0
class Config(object):
    """Base configuration."""
    DEBUG = env_bool('IGL_DEBUG', default=True)
    TESTING = env_bool('IGL_TESTING', default=True)

    CHANNEL_NOTIFICATION_REPO_CONF = env_queue_config(
        'CHANNEL_NOTIFICATION_REPO')
    ROUTING_TABLE = env_json("IGL_MCHR_ROUTING_TABLE")

    SENTRY_DSN = env("SENTRY_DSN", default=None)
コード例 #2
0
ファイル: config.py プロジェクト: sambacha/sappling
def Config():
    environment_config = dict(
        SUBSCRIPTIONS_REPO=env_s3_config('SUBSCRIPTIONS_REPO'),
        # api base url, ex: https://test.api.com
        CHANNEL_URL=env('CHANNEL_URL'),

        TESTING=env_bool('TESTING', default=False),
        DEBUG=env_bool('DEBUG', default=False),

        HTTP_BLOCKCHAIN_ENDPOINT=env('HTTP_BLOCKCHAIN_ENDPOINT'),

        CONTRACT_REPO=env_s3_config('CONTRACT_REPO'),
        CONTRACT_BUILD_ARTIFACT_KEY=env('CONTRACT_BUILD_ARTIFACT_KEY'),
        CONTRACT_NETWORK_ID=str(int(env('CONTRACT_NETWORK_ID', default=1))),
        CONTRACT_OWNER_PRIVATE_KEY=env('CONTRACT_OWNER_PRIVATE_KEY'),

        MESSAGE_CONFIRMATION_THRESHOLD=int(env('CONFIRMATION_THRESHOLD', default='12')),

        SENDER=env('SENDER', default='AU')
    )
    return Box(environment_config)
コード例 #3
0
ファイル: miniorepo.py プロジェクト: adamkerz/libtrustbridge
import logging
from io import BytesIO

import boto3
from botocore.client import ClientError

from libtrustbridge.domain.wire_protocols.generic_discrete import Message
from libtrustbridge.utils.conf import env_bool

logger = logging.getLogger(__name__)

IGL_ALLOW_UNSAFE_REPO_CLEAR = env_bool('IGL_ALLOW_UNSAFE_REPO_CLEAR',
                                       default=False)
IGL_ALLOW_UNSAFE_REPO_IS_EMPTY = env_bool('IGL_ALLOW_UNSAFE_REPO_IS_EMPTY',
                                          default=False)


def slash_chunk(uri):
    """
    given a URI, returns string like U/R/I
    (with slashes in it).
    This is to prevent a very large number of URIs
    from exhausting the inode pool on some files systems
    when they are saved as files or directory names.
    (because subdirectories could be
    mounted on differnt file systems)
    """
    if len(uri) > 10:
        return '{}/{}'.format(
            uri[:5],
            uri[5:],
コード例 #4
0
def test_simple():
    # test env_none
    assert not os.environ.get(TEST_ENV_NONE_KEY)
    assert not conf.env_none(TEST_ENV_NONE_KEY)
    assert TEST_DEFAULT == conf.env_none(TEST_ENV_NONE_KEY,
                                         default=TEST_DEFAULT)
    os.environ[TEST_ENV_NONE_KEY] = TEST_NON_DEFAULT_VALUE
    assert TEST_NON_DEFAULT_VALUE == conf.env_none(TEST_ENV_NONE_KEY,
                                                   default=TEST_DEFAULT)
    os.environ[TEST_ENV_NONE_KEY] = ""
    assert conf.env_none(TEST_ENV_NONE_KEY) is None

    # test env_bool
    assert not os.environ.get(TEST_ENV_BOOL_VALUE_KEY)
    for env_value, value in TEST_ENV_BOOL_VALUES:
        os.environ[TEST_ENV_BOOL_VALUE_KEY] = env_value
        assert conf.env_bool(TEST_ENV_BOOL_VALUE_KEY) == value

    del os.environ[TEST_ENV_BOOL_VALUE_KEY]
    assert conf.env_bool(TEST_ENV_BOOL_VALUE_KEY, default=True)
    assert conf.env_bool(TEST_ENV_BOOL_VALUE_KEY, default=None,
                         nullable=True) is None

    os.environ[TEST_ENV_BOOL_VALUE_KEY] = 'False'
    assert conf.env_bool(TEST_ENV_BOOL_VALUE_KEY, default=True) is False

    # not none exception
    del os.environ[TEST_ENV_BOOL_VALUE_KEY]
    with pytest.raises(Exception) as e:
        conf.env_bool(TEST_ENV_BOOL_VALUE_KEY, nullable=False, default=None)

    assert str(
        e.value) == "Variable {} can't be None".format(TEST_ENV_BOOL_VALUE_KEY)
    # unknown string value
    os.environ[TEST_ENV_BOOL_VALUE_KEY] = "FalseFalseTrue"
    with pytest.raises(Exception) as e:
        conf.env_bool(TEST_ENV_BOOL_VALUE_KEY)

    assert str(e.value) == "Unknown value for variable {}: '{}'".format(
        TEST_ENV_BOOL_VALUE_KEY, os.environ[TEST_ENV_BOOL_VALUE_KEY])

    # invalid default value
    del os.environ[TEST_ENV_BOOL_VALUE_KEY]
    with pytest.raises(Exception) as e:
        conf.env_bool(TEST_ENV_BOOL_VALUE_KEY, default=dict(msg="Hello"))

    assert str(e.value) == "Unknown value type for variable {}: '{}'".format(
        TEST_ENV_BOOL_VALUE_KEY, dict)

    # test env_json
    assert not os.environ.get(TEST_ENV_JSON_KEY)
    os.environ[TEST_ENV_JSON_KEY] = json.dumps(TEST_ENV_JSON_DICT)
    assert conf.env_json(TEST_ENV_JSON_KEY) == TEST_ENV_JSON_DICT
    del os.environ[TEST_ENV_JSON_KEY]
    assert conf.env_json(
        TEST_ENV_JSON_KEY,
        default=TEST_ENV_JSON_DEFAULT) == TEST_ENV_JSON_DEFAULT

    os.environ[TEST_ENV_JSON_KEY] = TEST_ENV_INVALID_JSON_STR
    with pytest.raises(ValueError):
        conf.env_json(TEST_ENV_JSON_KEY)
コード例 #5
0
ファイル: loggers.py プロジェクト: gs-gs/libtrustbridge
        }
    },
    'handlers': {
        'console': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
            'formatter': 'verbose',
        }
    },
    'root': {
        'handlers': ['console'],
        'level': 'INFO',
    },
    '': {
        'handlers': ['console'],
        'level': 'INFO',
    },
}

# JSON formatter for sending logs to ES
LOG_FORMATTER_JSON = env_bool('ICL_LOG_FORMATTER_JSON', default=False)
if LOG_FORMATTER_JSON:  # pragma: no cover
    LOGGING['formatters']['json'] = {
        '()': 'libtrustbridge.utils.json_log_formatter.JsonFormatter',
    }
    LOGGING['handlers']['console']['formatter'] = 'json'

# Apply the config
dictConfig(LOGGING)
logger = logging.getLogger('intergov')