import logging import re import allure from pytest import Config logger = logging.getLogger("NeoLogger") @allure.step("Read environment.properties") def read_env_properties(config: Config) -> dict: environment_dir = config.getoption("--alluredir") if not environment_dir: return None file_path = f"{environment_dir}/environment.properties" with open(file_path, "r") as file: raw_content = file.read() env_properties = {} for line in raw_content.split("\n"): m = re.match("(.*?)=(.*)", line) if not m: logger.warning(f"Could not parse env property from {line}") continue key, value = m.group(1), m.group(2) env_properties[key] = value return env_properties @allure.step("Update data in environment.properties") def save_env_properties(config: Config, env_data: dict) -> None: environment_dir = config.getoption("--alluredir") if not environment_dir: return None file_path = f"{environment_dir}/environment.properties" with open(file_path, "a+") as env_file: for env, env_value in env_data.items(): env_file.write(f"{env}={env_value}\n")