Files
esphome/tests/unit_tests/components/socket/test_socket_ipv4_host.py
T

24 lines
788 B
Python

"""Tests for the socket component's IPv4 host validator."""
import pytest
from esphome.components import socket
import esphome.config_validation as cv
@pytest.mark.parametrize("value", ["192.0.2.10", "bridge.local", "bridge"])
def test_ipv4_host_accepts_ipv4_address_and_hostname(value: str) -> None:
assert socket.ipv4_host(value) == value
@pytest.mark.parametrize("value", ["2001:db8::10", "::1", "::ffff:192.0.2.10"])
def test_ipv4_host_rejects_ipv6_address(value: str) -> None:
with pytest.raises(cv.Invalid, match="IPv6 addresses are not supported"):
socket.ipv4_host(value)
@pytest.mark.parametrize("value", ["bridge host", ""])
def test_ipv4_host_rejects_invalid_host(value: str) -> None:
with pytest.raises(cv.Invalid):
socket.ipv4_host(value)