import os from datetime import datetime, timedelta from tempfile import NamedTemporaryFile from config import DefaultConfig class FakeTransaction(object): def __enter__(self): return self def __exit__(self, exc_type, value, traceback): pass TEST_DB_FILE = NamedTemporaryFile(delete=True) class TestConfig(DefaultConfig): TESTING = True SECRET_KEY = 'a36c9d7d-25a9-4d3f-a586-3d2f8dc40a83' BILLING_TYPE = 'FakeStripe' TEST_DB_FILE = TEST_DB_FILE DB_URI = os.environ.get('TEST_DATABASE_URI', 'sqlite:///{0}'.format(TEST_DB_FILE.name)) DB_CONNECTION_ARGS = { 'threadlocals': True, 'autorollback': True } @staticmethod def create_transaction(db): return FakeTransaction() DB_TRANSACTION_FACTORY = create_transaction DISTRIBUTED_STORAGE_CONFIG = {'local_us': ['FakeStorage', {}], 'local_eu': ['FakeStorage', {}]} DISTRIBUTED_STORAGE_PREFERENCE = ['local_us'] BUILDLOGS_MODULE_AND_CLASS = ('test.testlogs', 'testlogs.TestBuildLogs') BUILDLOGS_OPTIONS = ['devtable', 'building', 'deadbeef-dead-beef-dead-beefdeadbeef', False] USERFILES_LOCATION = 'local_us' FEATURE_SUPER_USERS = True FEATURE_BILLING = True FEATURE_MAILING = True SUPER_USERS = ['devtable'] LICENSE_USER_LIMIT = 500 LICENSE_EXPIRATION = datetime.now() + timedelta(weeks=520) LICENSE_EXPIRATION_WARNING = datetime.now() + timedelta(weeks=520) FEATURE_GITHUB_BUILD = True FEATURE_BITTORRENT = True CLOUDWATCH_NAMESPACE = None FEATURE_SECURITY_SCANNER = True SECURITY_SCANNER = { 'ENDPOINT': 'http://localhost/some/invalid/path', 'ENGINE_VERSION_TARGET': 1, 'API_CALL_TIMEOUT': 1 }