test_ssrf_protection.py — langchain Source File
Architecture documentation for test_ssrf_protection.py, a python file in the langchain codebase. 4 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 0a8d2a49_20ba_b7b4_8bfd_e6c768864657["test_ssrf_protection.py"] 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3["typing"] 0a8d2a49_20ba_b7b4_8bfd_e6c768864657 --> 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3 120e2591_3e15_b895_72b6_cb26195e40a6["pytest"] 0a8d2a49_20ba_b7b4_8bfd_e6c768864657 --> 120e2591_3e15_b895_72b6_cb26195e40a6 6e58aaea_f08e_c099_3cc7_f9567bfb1ae7["pydantic"] 0a8d2a49_20ba_b7b4_8bfd_e6c768864657 --> 6e58aaea_f08e_c099_3cc7_f9567bfb1ae7 b867f5d7_c564_7f0d_fdb5_876923e238ef["langchain_core._security._ssrf_protection"] 0a8d2a49_20ba_b7b4_8bfd_e6c768864657 --> b867f5d7_c564_7f0d_fdb5_876923e238ef style 0a8d2a49_20ba_b7b4_8bfd_e6c768864657 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
"""Tests for SSRF protection utilities."""
from typing import Any
import pytest
from pydantic import BaseModel, ValidationError
from langchain_core._security._ssrf_protection import (
SSRFProtectedUrl,
SSRFProtectedUrlRelaxed,
is_cloud_metadata,
is_localhost,
is_private_ip,
is_safe_url,
validate_safe_url,
)
class TestIPValidation:
"""Tests for IP address validation functions."""
def test_is_private_ip_ipv4(self) -> None:
"""Test private IPv4 address detection."""
assert is_private_ip("10.0.0.1") is True
assert is_private_ip("172.16.0.1") is True
assert is_private_ip("192.168.1.1") is True
assert is_private_ip("127.0.0.1") is True
assert is_private_ip("169.254.169.254") is True
assert is_private_ip("0.0.0.1") is True
def test_is_private_ip_ipv6(self) -> None:
"""Test private IPv6 address detection."""
assert is_private_ip("::1") is True # Loopback
assert is_private_ip("fc00::1") is True # Unique local
assert is_private_ip("fe80::1") is True # Link-local
assert is_private_ip("ff00::1") is True # Multicast
def test_is_private_ip_public(self) -> None:
"""Test that public IPs are not flagged as private."""
assert is_private_ip("8.8.8.8") is False
assert is_private_ip("1.1.1.1") is False
assert is_private_ip("151.101.1.140") is False
def test_is_private_ip_invalid(self) -> None:
"""Test handling of invalid IP addresses."""
assert is_private_ip("not-an-ip") is False
assert is_private_ip("999.999.999.999") is False
def test_is_cloud_metadata_ips(self) -> None:
"""Test cloud metadata IP detection."""
assert is_cloud_metadata("example.com", "169.254.169.254") is True
assert is_cloud_metadata("example.com", "169.254.170.2") is True
assert is_cloud_metadata("example.com", "100.100.100.200") is True
def test_is_cloud_metadata_hostnames(self) -> None:
"""Test cloud metadata hostname detection."""
assert is_cloud_metadata("metadata.google.internal") is True
assert is_cloud_metadata("metadata") is True
assert is_cloud_metadata("instance-data") is True
assert is_cloud_metadata("METADATA.GOOGLE.INTERNAL") is True # Case insensitive
// ... (238 more lines)
Domain
Subdomains
Classes
Dependencies
- langchain_core._security._ssrf_protection
- pydantic
- pytest
- typing
Source
Frequently Asked Questions
What does test_ssrf_protection.py do?
test_ssrf_protection.py is a source file in the langchain codebase, written in python. It belongs to the CoreAbstractions domain, Serialization subdomain.
What does test_ssrf_protection.py depend on?
test_ssrf_protection.py imports 4 module(s): langchain_core._security._ssrf_protection, pydantic, pytest, typing.
Where is test_ssrf_protection.py in the architecture?
test_ssrf_protection.py is located at libs/core/tests/unit_tests/test_ssrf_protection.py (domain: CoreAbstractions, subdomain: Serialization, directory: libs/core/tests/unit_tests).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free