def test_write(writer, env, onlydir, tmpdir): if onlydir is True: tmpfile = tmpdir else: tmpfile = tmpdir.join(f"settings.{writer}") settingspath = tmpdir.join(f"settings.{writer}") secretfile = tmpdir.join(f".secrets.{writer}") env_file = tmpdir.join(".env") result = run([ "write", writer, "-v", "TESTVALUE=1", "-s", "SECRETVALUE=2", "-e", env, "-y", "-p", str(tmpfile), ]) if writer != "env": assert f"Data successful written to {settingspath}" in result assert "TESTVALUE" in read_file( str(settingspath), encoding=default_settings.ENCODING_FOR_DYNACONF) assert "SECRETVALUE" in read_file( str(secretfile), encoding=default_settings.ENCODING_FOR_DYNACONF) else: assert f"Data successful written to {env_file}" in result assert "TESTVALUE" in read_file( str(env_file), encoding=default_settings.ENCODING_FOR_DYNACONF) assert "SECRETVALUE" in read_file( str(env_file), encoding=default_settings.ENCODING_FOR_DYNACONF)
def test_list_with_key_export_json(tmpdir): result = run(["list", "-k", "DOTENV_STR", "-o", "sets.json"]) assert "DOTENV_STR: 'hello'" in result assert "DOTENV_STR" in read_file("sets.json") assert (json.loads( read_file("sets.json"))["development"]["DOTENV_STR"] == "hello") with pytest.raises(KeyError): json.loads(read_file("sets.json"))["development"]["DOTENV_FLOAT"]
def test_list_export_json(testdir): result = run(["list", "-o", "sets.json"], env={"ROOT_PATH_FOR_DYNACONF": testdir}) assert "DOTENV_STR: 'hello'" in result assert "DOTENV_STR" in read_file("sets.json") assert (json.loads( read_file("sets.json"))["development"]["DOTENV_STR"] == "hello") assert (json.loads( read_file("sets.json"))["development"]["DOTENV_FLOAT"] == 4.2)
def test_list_export_json(testdir): result = run( ["-i", "tests.config.settings", "list", "-o", "sets.json"], env={"ROOT_PATH_FOR_DYNACONF": testdir}, ) # breakpoint() assert "DOTENV_STR<str> 'hello'" in result assert "DOTENV_STR" in read_file("sets.json") assert json.loads(read_file("sets.json"))["DOTENV_STR"] == "hello" assert json.loads(read_file("sets.json"))["DOTENV_FLOAT"] == 4.2
def test_list_with_key_export_json(tmpdir): result = run([ "-i", "tests.config.settings", "list", "-k", "DOTENV_STR", "-o", "sets.json", ]) assert "DOTENV_STR<str> 'hello'" in result assert "DOTENV_STR" in read_file("sets.json") assert json.loads(read_file("sets.json"))["DOTENV_STR"] == "hello" with pytest.raises(KeyError): json.loads(read_file("sets.json"))["DOTENV_FLOAT"]
def test_list_export_json(testdir): result = run( ["-i", "tests.config.settings", "list", "-o", "sets.json"], env={"ROOT_PATH_FOR_DYNACONF": testdir}, ) assert "TEST_KEY<str> 'test_value'" in result assert json.loads(read_file("sets.json"))["TEST_KEY"] == "test_value"
def test_list_with_key_export_json(tmpdir): result = run([ "-i", "tests.config.settings", "list", "-k", "TEST_KEY", "-o", "sets.json", ]) assert "TEST_KEY<str> 'test_value'" in result assert "TEST_KEY" in read_file("sets.json") assert json.loads(read_file("sets.json"))["TEST_KEY"] == "test_value" with pytest.raises(KeyError): json.loads(read_file("sets.json"))["ANOTHER_KEY"]
def test_init_with_path(fileformat, tmpdir): # run twice to force load of existing files if fileformat == "env": path = tmpdir.join(".env") secs_path = None else: path = tmpdir.join("settings.{}".format(fileformat)) secs_path = tmpdir.join("/.secrets.{}".format(fileformat)) for _ in (1, 2): run( [ "init", "--format={}".format(fileformat), "-v", "name=bruno", "-s", "token=secret for", "--path={}".format(str(tmpdir)), "-y", ] ) sets = Path(str(path)) assert sets.exists() is True assert "bruno" in read_file( str(sets), encoding=default_settings.ENCODING_FOR_DYNACONF ) if secs_path: secs = Path(str(secs_path)) assert secs.exists() is True assert "secret for" in read_file( str(secs), encoding=default_settings.ENCODING_FOR_DYNACONF ) if fileformat != "env": gign = Path(str(tmpdir.join(".gitignore"))) assert gign.exists() is True assert ".secrets.*" in read_file( str(gign), encoding=default_settings.ENCODING_FOR_DYNACONF )
def test_write_dotenv(path, tmpdir): env_file = tmpdir.join(path) result = run([ "write", "env", "-v", "TESTVALUE=1", "-s", "SECRETVALUE=2", "-y", "-p", str(env_file), ]) assert f"Data successful written to {env_file}" in result assert "TESTVALUE" in read_file( str(env_file), encoding=default_settings.ENCODING_FOR_DYNACONF) assert "SECRETVALUE" in read_file( str(env_file), encoding=default_settings.ENCODING_FOR_DYNACONF)
def __init__(self, config: DynaBox): """ Инициализация класса приложения @param config: данные конфигурации приложения """ self._config = config self._config.VERSION = read_file(config.VERSION_PATH) self._db = Database(self._config.POSTGRES) self._auth = AuthService(self._config.SERVICES.auth) self._app = web.Application( middlewares=[self._auth.login_required, self._db.db_session])
def read_file_in_root_directory(*names, **kwargs): """Read a file on root dir.""" return read_file( os.path.join(os.path.dirname(__file__), *names), encoding=kwargs.get("encoding", "utf-8"), )