Esempio n. 1
0
def test_djdt_382(tmpdir):
    sys.path.insert(0, str(tmpdir))
    settings_file = tmpdir.join("settings.py")
    settings_file.write("SECRET_KEY = 'dasfadfds'")
    tmpdir.join("__init__.py").write("")
    os.environ["DJANGO_SETTINGS_MODULE"] = str("settings")
    settings = dynaconf.DjangoDynaconf(__name__, environments=True)
    settings.configure(settings_module=__file__)
    assert settings.is_overridden("FOO") is False
Esempio n. 2
0
def test_djdt_382(tmpdir):
    settings_file = tmpdir.join("settings.py")
    settings_file.write("\n".join(["SECRET_KEY = 'dasfadfds2'"]))
    tmpdir.join("__init__.py").write("")
    os.environ["DJANGO_SETTINGS_MODULE"] = "settings"
    sys.path.append(str(tmpdir))
    __import__("settings")
    settings = dynaconf.DjangoDynaconf("settings", environments=True)
    settings.configure(settings_module="settings")
    assert settings.SECRET_KEY == "dasfadfds2"
    assert settings.is_overridden("FOO") is False
Esempio n. 3
0
def test_override_settings_596(tmpdir):
    settings_file = tmpdir.join("other_settings.py")
    settings_file.write("\n".join(["SECRET_KEY = 'abcdef'"]))
    tmpdir.join("__init__.py").write("")
    os.environ["DJANGO_SETTINGS_MODULE"] = "other_settings"
    sys.path.append(str(tmpdir))
    __import__("other_settings")
    settings = dynaconf.DjangoDynaconf("other_settings", environments=True)
    settings.configure(settings_module="other_settings")
    assert settings.SECRET_KEY == "abcdef"

    # mimic what django.test.utils.override_settings does
    class UserSettingsHolder(dynaconf.LazySettings):
        _django_override = True

    override = UserSettingsHolder(settings._wrapped)
    override.SECRET_KEY = "foobar"

    # overriden settings is changed
    assert override.SECRET_KEY == "foobar"

    # original not changed
    assert settings.SECRET_KEY == "abcdef"
Esempio n. 4
0

ANOTHER_DEBUG = True
DEBUG = True

sys.path.append(".")

# HERE STARTS DYNACONF EXTENSION LOAD (Keep at the very bottom of settings.py)
# Read more at https://www.dynaconf.com/django/
import dynaconf  # noqa

settings = dynaconf.DjangoDynaconf(
    __name__,
    PRELOAD_FOR_DYNACONF=[
        "../settings.yaml",
        "../.secrets.yaml",
        "foo.a_plugin_folder.settings",
    ],
    ENVVAR_FOR_DYNACONF="PULP_SETTINGS",
)  # noqa
# HERE ENDS DYNACONF EXTENSION LOAD (No more code below this line)


# test
assert settings.SERVER == "prodserver.com"
# assert settings.STATIC_URL == "/changed/in/settings.toml/by/dynaconf/"
assert settings.USERNAME == "admin_user_from_env"
assert settings.PASSWORD == "My5up3r53c4et"
assert settings.get("PASSWORD") == "My5up3r53c4et"
assert settings.FOO == "It overrides every other env"
assert settings.TEST_VALUE == "a"
Esempio n. 5
0
    'DEFAULT_AUTO_SCHEMA_CLASS':
    'pulpcore.app.openapigenerator.PulpAutoSchema',
    'DEFAULT_INFO': 'pulpcore.app.urls.api_info',
}

# have the docs url show field descriptions with html
REDOC_SETTINGS = {
    'SPEC_URL': '/pulp/api/v3/docs/?format=openapi&include_html=1',
}

# HERE STARTS DYNACONF EXTENSION LOAD (Keep at the very bottom of settings.py)
# Read more at https://dynaconf.readthedocs.io/en/latest/guides/django.html
import dynaconf  # noqa
settings = dynaconf.DjangoDynaconf(
    __name__,
    GLOBAL_ENV_FOR_DYNACONF='PULP',
    ENV_SWITCHER_FOR_DYNACONF='PULP_ENV',
    PRELOAD_FOR_DYNACONF=[
        '{}.app.settings'.format(plugin_name)
        for plugin_name in INSTALLED_PULP_PLUGINS
    ],
    ENVVAR_FOR_DYNACONF='PULP_SETTINGS',
)
# HERE ENDS DYNACONF EXTENSION LOAD (No more code below this line)

try:
    CONTENT_ORIGIN
except NameError:
    raise ImproperlyConfigured(
        _('You must specify the CONTENT_ORIGIN setting.'))
Esempio n. 6
0
import os

# Where is all the Django's settings?
# Take a look at ../settings.yaml and ../.secrets.yaml
# Dynaconf supports multiple formats that files can be toml, ini, json, py
# Files are also optional, dynaconf can read from envvars, Redis or Vault.

# Build paths inside the project like this: os.path.join(settings.BASE_DIR, ..)
# Or use the dynaconf helper `settings.path_for('filename')`
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

STATIC_URL = "/etc/foo"

# HERE STARTS DYNACONF EXTENSION LOAD (Keep at the very bottom of settings.py)
# Read more at https://dynaconf.readthedocs.io/en/latest/guides/django.html
import dynaconf  # noqa

settings = dynaconf.DjangoDynaconf(__name__)  # noqa
# HERE ENDS DYNACONF EXTENSION LOAD (No more code below this line)

# test
assert settings.SERVER == "prodserver.com"
assert settings.STATIC_URL == "/changed/in/settings.toml/by/dynaconf/"
assert settings.USERNAME == "admin_user_from_env"
assert settings.PASSWORD == "My5up3r53c4et"
assert settings.get("PASSWORD") == "My5up3r53c4et"
assert settings.FOO == "It overrides every other env"
Esempio n. 7
0
USE_TZ = True

# https://docs.djangoproject.com/en/1.11/howto/static-files/
STATIC_URL = "/static/"
STATIC_ROOT = "static"

STATICFILES_FINDERS = [
    "django.contrib.staticfiles.finders.FileSystemFinder",
    "django.contrib.staticfiles.finders.AppDirectoriesFinder",
]

#
# HERE STARTS DYNACONF EXTENSION LOAD
#
import dynaconf  # noqa
from dynaconf import Validator  # noqa

settings = dynaconf.DjangoDynaconf(
    __name__,
    settings_files=["settings.yaml"],
    env_switcher="DJANGO_ENVIRONMENT",
    load_dotenv=True,
    validators=[
        Validator("ENVIRONMENT", "TESTING", "FOO", must_exist=True),
    ],
)  # noqa

#
# HERE ENDS DYNACONF EXTENSION LOAD (No more code below this line)
#
Esempio n. 8
0
# What kinds of checksums is this pulp-instance _allowed to use_ ?
# NOTE : "sha256"" IS REQUIRED - Pulp will fail to start if it is not found in this set
# NOTE: specifying checksums that are not listed under ALL_KNOWN_CONTENT_CHECKSUMS will fail
#       at startup
ALLOWED_CONTENT_CHECKSUMS = ["sha224", "sha256", "sha384", "sha512"]

# HERE STARTS DYNACONF EXTENSION LOAD (Keep at the very bottom of settings.py)
# Read more at https://dynaconf.readthedocs.io/en/latest/guides/django.html
import dynaconf  # noqa

settings = dynaconf.DjangoDynaconf(
    __name__,
    GLOBAL_ENV_FOR_DYNACONF="PULP",
    ENV_SWITCHER_FOR_DYNACONF="PULP_ENV",
    PRELOAD_FOR_DYNACONF=[
        "{}.app.settings".format(plugin_name) for plugin_name in INSTALLED_PULP_PLUGINS
    ],
    ENVVAR_FOR_DYNACONF="PULP_SETTINGS",
    load_dotenv=False,
)
# HERE ENDS DYNACONF EXTENSION LOAD (No more code below this line)

_logger = getLogger(__name__)

try:
    CONTENT_ORIGIN
except NameError:
    raise ImproperlyConfigured(
        _(
            "CONTENT_ORIGIN is a required setting but it was not configured. This may be caused "
            "by invalid read permissions of the settings file. Note that CONTENT_ORIGIN is set by "
Esempio n. 9
0
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

STATIC_URL = "/etc/foo"

# HERE STARTS DYNACONF EXTENSION LOAD (Keep at the very bottom of settings.py)
# Read more at https://www.dynaconf.com/django/
import dynaconf  # noqa

settings_location = os.path.join(BASE_DIR,
                                 "config/settings.yaml,config/.secrets.yaml")

settings = dynaconf.DjangoDynaconf(
    __name__,
    ENVIRONMENTS_FOR_DYNACONF=True,
    GLOBAL_ENV_FOR_DYNACONF="MYWEBAPP",
    ENV_SWITCHER_FOR_DYNACONF="MYWEBAPP_ENV",
    SETTINGS_MODULE_FOR_DYNACONF=settings_location,
    INCLUDES_FOR_DYNACONF=[os.path.join(BASE_DIR, "includes/*")],
    ENVVAR_FOR_DYNACONF="MYWEBAPP_SETTINGS",
)  # noqa
# HERE ENDS DYNACONF EXTENSION LOAD (No more code below this line)

# test
assert (settings.ENVVAR_PREFIX_FOR_DYNACONF == "MYWEBAPP"
        ), settings.ENVVAR_PREFIX_FOR_DYNACONF
assert settings.GLOBAL_ENV_FOR_DYNACONF == "MYWEBAPP"
assert settings.PLUGIN_ENABLED is True
assert settings.PLUGIN_LIST == ["plugin1", "plugin2"]

assert settings.SERVER == "prodserver.com"
assert settings.STATIC_URL == "/changed/in/settings.toml/by/dynaconf/"
Esempio n. 10
0
}

CONTENT_HOST = ''
CONTENT_PATH_PREFIX = '/pulp/content/'
CONTENT_APP_TTL = 30

REMOTE_USER_ENVIRON_NAME = "REMOTE_USER"

PROFILE_STAGES_API = False

SWAGGER_SETTINGS = {
    'DEFAULT_GENERATOR_CLASS':
    'pulpcore.app.openapigenerator.PulpOpenAPISchemaGenerator',
    'DEFAULT_AUTO_SCHEMA_CLASS':
    'pulpcore.app.openapigenerator.PulpAutoSchema',
    'DEFAULT_INFO': 'pulpcore.app.urls.api_info',
}

# HERE STARTS DYNACONF EXTENSION LOAD (Keep at the very bottom of settings.py)
# Read more at https://dynaconf.readthedocs.io/en/latest/guides/django.html
import dynaconf  # noqa
settings = dynaconf.DjangoDynaconf(
    __name__,
    GLOBAL_ENV_FOR_DYNACONF='PULP',
    ENV_SWITCHER_FOR_DYNACONF='PULP_ENV',
    SETTINGS_MODULE_FOR_DYNACONF='/etc/pulp/settings.py',
    INCLUDES_FOR_DYNACONF=['/etc/pulp/plugins/*'],
    ENVVAR_FOR_DYNACONF='PULP_SETTINGS',
)
# HERE ENDS DYNACONF EXTENSION LOAD (No more code below this line)
Esempio n. 11
0
        'NAME':
        'django.contrib.auth.password_validation.NumericPasswordValidator',
    },
]

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_L10N = True

USE_TZ = True

STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'

STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')

STATIC_URL = "/static/"

settings = dynaconf.DjangoDynaconf(
    __name__,
    ENVVAR_PREFIX_FOR_DYNACONF='BILLCALLS',
    ENV_SWITCHER_FOR_DYNACONF='BILLCALLS_ENV',
    ENVVAR_FOR_DYNACONF='BILLCALLS_SETTINGS',
)

if settings.ENV != 'development':
    DATABASES['default'] = dj_database_url.config(conn_max_age=600)
# https://docs.djangoproject.com/en/1.11/howto/static-files/
STATIC_URL = '/static/'
STATIC_ROOT = 'static'

# https://docs.djangoproject.com/en/1.9/ref/settings/#std:setting-STATICFILES_FINDERS
STATICFILES_FINDERS = [
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
]

#
# HERE STARTS DYNACONF EXTENSION LOAD
#
import dynaconf  # noqa
from dynaconf import Validator  # noqa

#
# HERE ENDS DYNACONF EXTENSION LOAD (No more code below this line)
#

settings = dynaconf.DjangoDynaconf(__name__,
                                   settings_files=['settings.yaml'],
                                   env_switcher='DJANGO_ENVIRONMENT',
                                   load_dotenv=True,
                                   validators=[
                                       Validator('ENVIRONMENT',
                                                 'TESTING',
                                                 'FOO',
                                                 must_exist=True),
                                   ])  # noqa
Esempio n. 13
0
# Read more at https://dynaconf.readthedocs.io/en/latest/guides/django.html
settings = dynaconf.DjangoDynaconf(
    __name__,
    core_loaders=['YAML', 'PY'],
    load_dotenv=True,
    dotenv_verbose=True,
    environments=True,
    merge_enabled=True,
    root_path=Path(r'.'),
    settings_files=[
        Path('settings.yaml'),
        Path('.secrets.yaml'),
        Path('drf_folder/drf_settings.yaml'),
        Path('djoser_folder/djoser_settings.yaml'),
        Path('simple_jwt_folder/settings.py'),
    ],
    validators=[
        # Databases password and user must exists
        *[
            dynaconf.Validator(f'DATABASES.{database}.USER', must_exist=True)
            & dynaconf.Validator(f'DATABASES.{database}.PASSWORD',
                                 must_exist=True)
            for database in dynaconf.settings.DATABASES
        ],
        # REDIS password must exists
        *[
            dynaconf.Validator(f'CACHES.{cache}.OPTIONS.PASSWORD',
                               must_exist=True)
            for cache in dynaconf.settings.CACHES
        ],
    ])  # noqa
# HERE ENDS DYNACONF EXTENSION LOAD (No more code below this line)
Esempio n. 14
0
LOGIN_URL = 'two_factor:login'
LOGIN_REDIRECT_URL = 'two_factor:profile'

# HERE STARTS DYNACONF EXTENSION LOAD (Keep at the very bottom of settings.py)
# Read more at https://dynaconf.readthedocs.io/en/latest/guides/django.html
# and watch https://www.youtube.com/watch?v=Ms2kgfYZJ9M&t=2915s&ab_channel=CodeShow

import dynaconf  # noqa
settings = dynaconf.DjangoDynaconf(
    __name__,
    CORE_LOADERS_FOR_DYNACONF=['YAML'],
    DOTENV_OVERRIDE_FOR_DYNACONF=False,
    #DOTENV_PATH=
    MERGE_ENABLED_FOR_DYNACONF=False,
    ENCODING_FOR_DYNACONF='utf-8',
    #ENV=development
    ENVVAR_PREFIX_FOR_DYNACONF='WATCHTOWER',
    ENV_SWITCHER_FOR_DYNACONF='WATCHTOWER_ENV',
    #PRELOAD_FOR_DYNACONF=["/path/*", "other/settings.toml"],                # <-- Loaded first
    SETTINGS_FILE_FOR_DYNACONF=
    "settings.yaml",  # <-- Loaded second (the main file)
    #INCLUDES_FOR_DYNACONF=["other.module.settings", "other/settings.yaml"]  # <-- Loaded at the end
    SECRETS_FOR_DYNACONF='.secrets.yaml',
    SILENT_ERRORS_FOR_DYNACONF=False)
# HEREENDS DYNACONF EXTENSION LOAD (No more code below this line)

import logging.config
logging.config.dictConfig(settings.LOGGING)
logger = logging.getLogger('watchtower')

logger.info('Using {} configuration'.format(settings.current_env))
Esempio n. 15
0
# https://docs.djangoproject.com/en/2.2/ref/settings/#use-l10n
USE_L10N = True

# https://docs.djangoproject.com/en/2.2/ref/settings/#use-tz
USE_TZ = True


# MEDIA
# -----------------------------------------------------------------------------

# URL that handles the media served from MEDIA_ROOT, used for managing stored
# files. Read more at
# https://docs.djangoproject.com/en/2.2/ref/settings/#std:setting-MEDIA_URL
MEDIA_URL = '/media/'

# DYNACONF
# -----------------------------------------------------------------------------

# HERE STARTS DYNACONF EXTENSION LOAD (Keep at the very bottom of base.py)
# Read more at https://www.dynaconf.com/#using-django
settings = dynaconf.DjangoDynaconf(
    __name__,
    ENVVAR_PREFIX_FOR_DYNACONF='DJANGO_REST_SIMPLEST',
    CORE_LOADERS=['TOML', 'PY'],
    ENV_SWITCHER_FOR_DYNACONF='DJANGO_REST_SIMPLEST_ENV',
    # Load this files in the order.
    SECRETS=['.secrets.toml'],
    settings_files=['development.toml', 'production.toml'],
)  # noqa
# HERE ENDS DYNACONF EXTENSION LOAD (No more code below this line)