def test_default_var_format(self): os.environ["TEST"] = "test" config = Environment() self.assertIn("test", config) self.assertEqual("test", config["test"]) del os.environ["TEST"]
def test_default_var_format(): os.environ["TEST"] = "test" config = Environment() assert "test" in config assert "test" == config["test"] del os.environ["TEST"]
def test_basic_config(): os.environ["TEST"] = "test" config = Environment() assert "TEST" in config assert "test" == config["TEST"] assert repr(config).startswith('Environment(var_format=') del os.environ["TEST"]
def test_basic_config(self): os.environ["TEST"] = "test" config = Environment() self.assertIn("TEST", config) self.assertEqual("test", config["TEST"]) self.assertTrue(repr(config).startswith('Environment(var_format=')) del os.environ["TEST"]
def test_custom_var_format(): def formatter(x): return '_{}'.format(x) os.environ["_TEST"] = "test" config = Environment(var_format=formatter) assert "TEST" in config assert "test" == config["TEST"] del os.environ["_TEST"]
def test_custom_var_format(self): def formatter(x): return '_{}'.format(x) os.environ["_TEST"] = "test" config = Environment(var_format=formatter) self.assertIn("TEST", config) self.assertEqual("test", config["TEST"]) del os.environ["_TEST"]
def test_customized_loaders(self): os.environ["ENVVAR"] = "Environment Variable Value" os.environ["ENVVAR2"] = "Foo" loaders = [EnvFile(self.envfile), Environment(), IniFile(self.inifile)] config = Configuration(loaders=loaders) self.assertEqual(config("ENVVAR"), "Must be overrided") self.assertEqual(config("ENVVAR2"), "Foo") self.assertEqual(config("ENVFILE"), "Environment File Value") self.assertEqual(config("INIFILE"), "INI File Value") self.assertEqual(len(config.loaders), 3) del os.environ["ENVVAR"] del os.environ["ENVVAR2"]
def test_customized_loaders(env_config, ini_config): os.environ["ENVVAR"] = "Environment Variable Value" os.environ["ENVVAR2"] = "Foo" loaders = [EnvFile(env_config), Environment(), IniFile(ini_config)] config = Configuration(loaders=loaders) assert config("ENVVAR") == "Must be overrided" assert config("ENVVAR2") == "Foo" assert config("ENVFILE") == "Environment File Value" assert config("INIFILE") == "INI File Value" assert len(config.loaders) == 3 del os.environ["ENVVAR"] del os.environ["ENVVAR2"]
def test_fail_missing_config(): config = Environment() assert "UNKNOWN" not in config with pytest.raises(KeyError): _ = config["UNKNOWN"]
from os import getcwd from prettyconf import Configuration from prettyconf.loaders import EnvFile, Environment env_file = f"{getcwd()}/.env" config = Configuration(loaders=[Environment(), EnvFile(filename=env_file)]) class Config: """Config class for variables.""" TOKEN = config("TOKEN") APP_ID = int(config("APP_ID")) API_HASH = config("API_HASH") OWNER_ID = int(config("OWNER_ID")) PREFIX_HANDLER = config("PREFIX_HANDLER", default="/ !").split() NO_LOAD = config("NO_LOAD", default=[]) WORKERS = int(config("WORKERS", default=8)) class Development: """Development class for variables.""" # Fill in these vars if you want to use Traditional method of deploying TOKEN = "YOUR TOKEN" APP_ID = 12345 # Your APP_ID from Telegram API_HASH = "YOUR TOKEN" # Your APP_HASH from Telegram OWNER_ID = "YOUR TOKEN" PREFIX_HANDLER = ["!", "/"] NO_LOAD = []
def test_fail_missing_config(self): config = Environment() self.assertNotIn("UNKNOWN", config) with self.assertRaises(KeyError): _ = config["UNKNOWN"]