def test_bad_arg_type( mandatory_env_args: List[EnvArg], monkeypatch: MonkeyPatch, set_vars: SetVarsFixture, bad_arg: EnvArg, ) -> None: set_vars(mandatory_env_args) monkeypatch.setenv(bad_arg.name, bad_arg.value) with pytest.raises(ConfigError, match=re.escape(bad_arg.name)): Settings()
def test_missing_mandatory_arg( mandatory_env_args: List[EnvArg], mandatory_env_args_keys: str, monkeypatch: MonkeyPatch, set_vars: SetVarsFixture, ) -> None: set_vars(mandatory_env_args) monkeypatch.delenv(mandatory_env_args_keys) with pytest.raises(ConfigError, match=re.escape(mandatory_env_args_keys)): Settings()
def test_overlapping_nodes( mandatory_env_args: List[EnvArg], monkeypatch: MonkeyPatch, overlapping_arg: EnvArg, set_vars: SetVarsFixture, ) -> None: set_vars(mandatory_env_args) monkeypatch.setenv(overlapping_arg.name, overlapping_arg.value) with pytest.raises(ConfigError, match="Same node ids found"): Settings()
def test_opc_cert_and_key( apply_args: List[str], expect_failure: bool, mandatory_env_args: List[EnvArg], monkeypatch: MonkeyPatch, set_vars: SetVarsFixture, tmp_path: Path, ) -> None: set_vars(mandatory_env_args) for arg in apply_args: file = tmp_path / arg.lower() file.touch() monkeypatch.setenv(arg, str(file)) if expect_failure: with pytest.raises( ConfigError, match="Missing one of OPC_CERT_FILE/OPC_PRIVATE_KEY_FILE"): Settings() else: Settings()
def test_all_mandatory_args( mandatory_env_args: List[EnvArg], set_vars: SetVarsFixture, ) -> None: set_vars(mandatory_env_args) assert Settings() is not None