TestIPValidation Class — langchain Architecture
Architecture documentation for the TestIPValidation class in test_ssrf_protection.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 5d0af313_84be_a251_2294_d136a0904196["TestIPValidation"] 809833dd_a5e7_1f87_e9af_5c61581d9739["test_ssrf_protection.py"] 5d0af313_84be_a251_2294_d136a0904196 -->|defined in| 809833dd_a5e7_1f87_e9af_5c61581d9739 6113ef34_50ac_63da_01ec_388207586f25["test_is_private_ip_ipv4()"] 5d0af313_84be_a251_2294_d136a0904196 -->|method| 6113ef34_50ac_63da_01ec_388207586f25 ac041e96_75b0_0b78_ac1f_5394bac54aaf["test_is_private_ip_ipv6()"] 5d0af313_84be_a251_2294_d136a0904196 -->|method| ac041e96_75b0_0b78_ac1f_5394bac54aaf bbe5e698_f1cd_203f_34c1_8f8af9285c35["test_is_private_ip_public()"] 5d0af313_84be_a251_2294_d136a0904196 -->|method| bbe5e698_f1cd_203f_34c1_8f8af9285c35 58a219fb_3deb_7152_97fd_445ddfb48112["test_is_private_ip_invalid()"] 5d0af313_84be_a251_2294_d136a0904196 -->|method| 58a219fb_3deb_7152_97fd_445ddfb48112 689f9941_3427_4eb2_b461_6313f0794bb8["test_is_cloud_metadata_ips()"] 5d0af313_84be_a251_2294_d136a0904196 -->|method| 689f9941_3427_4eb2_b461_6313f0794bb8 307aacb8_12a0_d587_5d94_f3fa23af9091["test_is_cloud_metadata_hostnames()"] 5d0af313_84be_a251_2294_d136a0904196 -->|method| 307aacb8_12a0_d587_5d94_f3fa23af9091 521167f2_0dfd_1660_b090_a183a40137c9["test_is_cloud_metadata_safe()"] 5d0af313_84be_a251_2294_d136a0904196 -->|method| 521167f2_0dfd_1660_b090_a183a40137c9 42d51a54_0488_6ca2_dadd_86775ca1809a["test_is_localhost_hostnames()"] 5d0af313_84be_a251_2294_d136a0904196 -->|method| 42d51a54_0488_6ca2_dadd_86775ca1809a eb01006c_f7b1_2a80_9433_1e2c4b57a317["test_is_localhost_ips()"] 5d0af313_84be_a251_2294_d136a0904196 -->|method| eb01006c_f7b1_2a80_9433_1e2c4b57a317 51d3ee76_35ac_d953_9ed5_90334120b547["test_is_localhost_safe()"] 5d0af313_84be_a251_2294_d136a0904196 -->|method| 51d3ee76_35ac_d953_9ed5_90334120b547
Relationship Graph
Source Code
libs/core/tests/unit_tests/test_ssrf_protection.py lines 19–82
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
def test_is_cloud_metadata_safe(self) -> None:
"""Test that normal URLs are not flagged as cloud metadata."""
assert is_cloud_metadata("example.com", "8.8.8.8") is False
assert is_cloud_metadata("google.com") is False
def test_is_localhost_hostnames(self) -> None:
"""Test localhost hostname detection."""
assert is_localhost("localhost") is True
assert is_localhost("LOCALHOST") is True
assert is_localhost("localhost.localdomain") is True
def test_is_localhost_ips(self) -> None:
"""Test localhost IP detection."""
assert is_localhost("example.com", "127.0.0.1") is True
assert is_localhost("example.com", "::1") is True
assert is_localhost("example.com", "0.0.0.0") is True
def test_is_localhost_safe(self) -> None:
"""Test that normal hosts are not flagged as localhost."""
assert is_localhost("example.com", "8.8.8.8") is False
assert is_localhost("google.com") is False
Source
Frequently Asked Questions
What is the TestIPValidation class?
TestIPValidation is a class in the langchain codebase, defined in libs/core/tests/unit_tests/test_ssrf_protection.py.
Where is TestIPValidation defined?
TestIPValidation is defined in libs/core/tests/unit_tests/test_ssrf_protection.py at line 19.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free