def test_write_and_load_from_redis_without_key(docker_redis): os.environ["REDIS_ENABLED_FOR_DYNACONF"] = "1" os.environ["REDIS_HOST_FOR_DYNACONF"] = "localhost" os.environ["REDIS_PORT_FOR_DYNACONF"] = "6379" settings = LazySettings(environments=True) write(settings, {"SECRET": "redis_works_perfectly"}) load(settings) assert settings.get("SECRET") == "redis_works_perfectly"
def test_write_redis_without_data(docker_redis): os.environ["REDIS_ENABLED_FOR_DYNACONF"] = "1" os.environ["REDIS_HOST_FOR_DYNACONF"] = "localhost" os.environ["REDIS_PORT_FOR_DYNACONF"] = "6379" settings = LazySettings(environments=True) with pytest.raises(AttributeError) as excinfo: write(settings) assert "Data must be provided" in str(excinfo.value)
def test_write_to_redis(docker_redis): os.environ["REDIS_ENABLED_FOR_DYNACONF"] = "1" os.environ["REDIS_HOST_FOR_DYNACONF"] = "localhost" os.environ["REDIS_PORT_FOR_DYNACONF"] = "6379" settings = LazySettings(environments=True) write(settings, {"SECRET": "redis_works_with_docker"}) load(settings, key="SECRET") assert settings.get("SECRET") == "redis_works_with_docker"
def test_delete_from_redis(docker_redis): os.environ["REDIS_ENABLED_FOR_DYNACONF"] = "1" os.environ["REDIS_HOST_FOR_DYNACONF"] = "localhost" os.environ["REDIS_PORT_FOR_DYNACONF"] = "6379" settings = LazySettings(environments=True) write(settings, {"OTHER_SECRET": "redis_works"}) load(settings) assert settings.get("OTHER_SECRET") == "redis_works" delete(settings, key="OTHER_SECRET") assert load(settings, key="OTHER_SECRET") is None
def test_redis_not_configured(): with pytest.raises(RuntimeError) as excinfo: settings = LazySettings(environments=True) write(settings, {"OTHER_SECRET": "redis_works"}) assert "export REDIS_ENABLED_FOR_DYNACONF=true" in str(excinfo.value)
from dynaconf import settings from dynaconf.loaders import redis_loader redis_loader.write(settings, {'SECRET': 'redis_works'}) with settings.using_namespace('dev'): redis_loader.write(settings, {'SECRET': 'redis_works_in_dev'})
from dynaconf import settings from dynaconf.loaders import redis_loader redis_loader.write(settings, {"SECRET": "redis_works"}) with settings.using_env("dev"): redis_loader.write(settings, {"SECRET": "redis_works_in_dev"})