1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
from __future__ import annotations
import os
from dynaconf import LazySettings
TOML = """
[default]
DATA = true
[premiumuser]
DASHBOARD="True"
[simpleuser]
DASHBOARD=false
"""
def test_feature_flag(tmpdir):
tmpfile = tmpdir.join("settings.toml")
tmpfile.write(TOML)
settings = LazySettings(environments=True, settings_file=str(tmpfile))
assert settings.flag("dashboard", "premiumuser") is True
assert settings.flag("dashboard", "simpleuser") is False
assert settings.flag("dashboard") is False
# ensure data is fresh
os.environ["DYNACONF_DASHBOARD"] = "@bool on"
assert settings.flag("dashboard") is True
os.environ["DYNACONF_DASHBOARD"] = "False"
assert settings.flag("dashboard") is False
|