mirror of
https://github.com/esphome/esphome.git
synced 2026-10-07 19:44:08 +00:00
24 lines
788 B
Python
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)
|