Skip to content

Commit 47655e5

Browse files
committed
test(policy): stabilize proxy e2e coverage
1 parent 55ef400 commit 47655e5

2 files changed

Lines changed: 19 additions & 27 deletions

File tree

e2e/python/test_sandbox_policy.py

Lines changed: 19 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1835,79 +1835,72 @@ def test_single_port_backwards_compat(
18351835
# Host wildcard tests
18361836
# =============================================================================
18371837
#
1838-
# HW-1: Wildcard *.anthropic.com matches subdomains
1839-
# HW-2: Wildcard *.anthropic.com does NOT match anthropic.com (bare domain)
1840-
# HW-3: Wildcard *.anthropic.com does NOT match deep.sub.anthropic.com
1838+
# HW-1: Wildcard *.example.com matches subdomains
1839+
# HW-2: Wildcard *.example.com does NOT match example.com (bare domain)
1840+
# HW-3: Wildcard *.example.com does NOT match deep.sub.example.com
18411841
# =============================================================================
18421842

18431843

18441844
def test_host_wildcard_matches_subdomain(
18451845
sandbox: Callable[..., Sandbox],
18461846
) -> None:
1847-
"""HW-1: *.anthropic.com matches api.anthropic.com."""
1847+
"""HW-1: *.example.com matches www.example.com."""
18481848
policy = _base_policy(
18491849
network_policies={
18501850
"wildcard": sandbox_pb2.NetworkPolicyRule(
18511851
name="wildcard",
18521852
endpoints=[
1853-
sandbox_pb2.NetworkEndpoint(host="*.anthropic.com", port=443),
1853+
sandbox_pb2.NetworkEndpoint(host="*.example.com", port=443),
18541854
],
18551855
binaries=[sandbox_pb2.NetworkBinary(path="/**")],
18561856
),
18571857
},
18581858
)
18591859
spec = datamodel_pb2.SandboxSpec(policy=policy)
18601860
with sandbox(spec=spec, delete_on_exit=True) as sb:
1861-
# api.anthropic.com -> matches *.anthropic.com
1862-
result = sb.exec_python(_proxy_connect(), args=("api.anthropic.com", 443))
1861+
# www.example.com -> matches *.example.com
1862+
result = sb.exec_python(_proxy_connect(), args=("www.example.com", 443))
18631863
assert result.exit_code == 0, result.stderr
18641864
assert "200" in result.stdout, (
1865-
f"*.anthropic.com should match api.anthropic.com: {result.stdout}"
1865+
f"*.example.com should match www.example.com: {result.stdout}"
18661866
)
18671867

1868-
# statsig.anthropic.com -> also matches *.anthropic.com
1869-
result = sb.exec_python(_proxy_connect(), args=("statsig.anthropic.com", 443))
1870-
assert result.exit_code == 0, result.stderr
1871-
assert "200" in result.stdout, (
1872-
f"*.anthropic.com should match statsig.anthropic.com: {result.stdout}"
1873-
)
1874-
1875-
# example.com -> does NOT match *.anthropic.com
1876-
result = sb.exec_python(_proxy_connect(), args=("example.com", 443))
1868+
# example.org -> does NOT match *.example.com
1869+
result = sb.exec_python(_proxy_connect(), args=("example.org", 443))
18771870
assert result.exit_code == 0, result.stderr
18781871
assert "403" in result.stdout, (
1879-
f"*.anthropic.com should NOT match example.com: {result.stdout}"
1872+
f"*.example.com should NOT match example.org: {result.stdout}"
18801873
)
18811874

18821875

18831876
def test_host_wildcard_rejects_bare_domain(
18841877
sandbox: Callable[..., Sandbox],
18851878
) -> None:
1886-
"""HW-2: *.anthropic.com does NOT match anthropic.com (requires a subdomain)."""
1879+
"""HW-2: *.example.com does NOT match example.com (requires a subdomain)."""
18871880
policy = _base_policy(
18881881
network_policies={
18891882
"wildcard": sandbox_pb2.NetworkPolicyRule(
18901883
name="wildcard",
18911884
endpoints=[
1892-
sandbox_pb2.NetworkEndpoint(host="*.anthropic.com", port=443),
1885+
sandbox_pb2.NetworkEndpoint(host="*.example.com", port=443),
18931886
],
18941887
binaries=[sandbox_pb2.NetworkBinary(path="/**")],
18951888
),
18961889
},
18971890
)
18981891
spec = datamodel_pb2.SandboxSpec(policy=policy)
18991892
with sandbox(spec=spec, delete_on_exit=True) as sb:
1900-
result = sb.exec_python(_proxy_connect(), args=("anthropic.com", 443))
1893+
result = sb.exec_python(_proxy_connect(), args=("example.com", 443))
19011894
assert result.exit_code == 0, result.stderr
19021895
assert "403" in result.stdout, (
1903-
f"*.anthropic.com should NOT match bare anthropic.com: {result.stdout}"
1896+
f"*.example.com should NOT match bare example.com: {result.stdout}"
19041897
)
19051898

19061899

19071900
def test_host_wildcard_rejects_deep_subdomain(
19081901
sandbox: Callable[..., Sandbox],
19091902
) -> None:
1910-
"""HW-3: *.anthropic.com does NOT match deep.sub.anthropic.com.
1903+
"""HW-3: *.example.com does NOT match deep.sub.example.com.
19111904
19121905
Single * matches one DNS label only (does not cross . boundaries).
19131906
"""
@@ -1916,18 +1909,18 @@ def test_host_wildcard_rejects_deep_subdomain(
19161909
"wildcard": sandbox_pb2.NetworkPolicyRule(
19171910
name="wildcard",
19181911
endpoints=[
1919-
sandbox_pb2.NetworkEndpoint(host="*.anthropic.com", port=443),
1912+
sandbox_pb2.NetworkEndpoint(host="*.example.com", port=443),
19201913
],
19211914
binaries=[sandbox_pb2.NetworkBinary(path="/**")],
19221915
),
19231916
},
19241917
)
19251918
spec = datamodel_pb2.SandboxSpec(policy=policy)
19261919
with sandbox(spec=spec, delete_on_exit=True) as sb:
1927-
result = sb.exec_python(_proxy_connect(), args=("deep.sub.anthropic.com", 443))
1920+
result = sb.exec_python(_proxy_connect(), args=("deep.sub.example.com", 443))
19281921
assert result.exit_code == 0, result.stderr
19291922
assert "403" in result.stdout, (
1930-
f"*.anthropic.com should NOT match deep.sub.anthropic.com: {result.stdout}"
1923+
f"*.example.com should NOT match deep.sub.example.com: {result.stdout}"
19311924
)
19321925

19331926

e2e/rust/tests/forward_proxy_graphql_l7.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,6 @@ def forward_chunked_status(query):
317317
f"\r\n"
318318
).encode() + chunk
319319
sock.sendall(request)
320-
sock.shutdown(socket.SHUT_WR)
321320
response, body = read_response(sock)
322321
DETAILS["forward_chunked_query_allowed_detail"] = body.decode(errors="replace")
323322
return int(response.split()[1])

0 commit comments

Comments
 (0)