Skip to content

Commit e39a432

Browse files
Add env-header sanitation regression coverage
Co-authored-by: Shri Sukhani <shrisukhani@users.noreply.github.com>
1 parent e7f339a commit e39a432

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

tests/test_config.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,24 @@ def test_client_config_from_env_rejects_non_string_header_values(monkeypatch):
7373
ClientConfig.from_env()
7474

7575

76+
def test_client_config_from_env_rejects_empty_header_name(monkeypatch):
77+
monkeypatch.setenv("HYPERBROWSER_API_KEY", "test-key")
78+
monkeypatch.setenv("HYPERBROWSER_HEADERS", '{" ":"value"}')
79+
80+
with pytest.raises(HyperbrowserError, match="header names must not be empty"):
81+
ClientConfig.from_env()
82+
83+
84+
def test_client_config_from_env_rejects_newline_header_values(monkeypatch):
85+
monkeypatch.setenv("HYPERBROWSER_API_KEY", "test-key")
86+
monkeypatch.setenv("HYPERBROWSER_HEADERS", '{"X-Correlation-Id":"bad\\nvalue"}')
87+
88+
with pytest.raises(
89+
HyperbrowserError, match="headers must not contain newline characters"
90+
):
91+
ClientConfig.from_env()
92+
93+
7694
def test_client_config_from_env_ignores_blank_headers(monkeypatch):
7795
monkeypatch.setenv("HYPERBROWSER_API_KEY", "test-key")
7896
monkeypatch.setenv("HYPERBROWSER_HEADERS", " ")

0 commit comments

Comments
 (0)