mirror of
https://github.com/PrefectHQ/fastmcp.git
synced 2026-08-23 14:04:18 +02:00
Reject empty env var keys (#4410)
This commit is contained in:
parent
de521e651d
commit
0d8844d5a7
3 changed files with 18 additions and 0 deletions
|
|
@ -66,6 +66,9 @@ def _parse_env_var(env_var: str) -> tuple[str, str]:
|
|||
logger.error("Invalid environment variable format. Must be KEY=VALUE")
|
||||
sys.exit(1)
|
||||
key, value = env_var.split("=", 1)
|
||||
if not key.strip():
|
||||
logger.error("Invalid environment variable format. KEY cannot be empty")
|
||||
sys.exit(1)
|
||||
return key.strip(), value.strip()
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -47,6 +47,11 @@ def parse_env_var(env_var: str) -> tuple[str, str]:
|
|||
)
|
||||
sys.exit(1)
|
||||
key, value = env_var.split("=", 1)
|
||||
if not key.strip():
|
||||
print(
|
||||
f"[red]Invalid environment variable format: '[bold]{env_var}[/bold]'. KEY cannot be empty[/red]"
|
||||
)
|
||||
sys.exit(1)
|
||||
return key.strip(), value.strip()
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
import pytest
|
||||
|
||||
from fastmcp.cli.cli import _parse_env_var
|
||||
from fastmcp.cli.install.shared import parse_env_var
|
||||
|
||||
|
||||
class TestEnvVarParsing:
|
||||
|
|
@ -27,3 +30,10 @@ class TestEnvVarParsing:
|
|||
key, value = _parse_env_var("EMPTY_VAR=")
|
||||
assert key == "EMPTY_VAR"
|
||||
assert value == ""
|
||||
|
||||
@pytest.mark.parametrize("parser", [_parse_env_var, parse_env_var])
|
||||
def test_parse_env_var_empty_key_exits(self, parser):
|
||||
"""Environment variable names cannot be empty."""
|
||||
with pytest.raises(SystemExit) as exc_info:
|
||||
parser(" =value")
|
||||
assert exc_info.value.code == 1
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue