| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent ae19597 commit 1d4f778
1 file changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -576,3 +576,39 @@ def test_autodetect_ip_version_includes_multicast_addresses() -> None: | |||
| 576 | 576 | netutils.autodetect_ip_version(["127.0.0.1"], multicast_addresses=["2001:db8::"]) is r.IPVersion.All | |
| 577 | 577 | ) | |
| 578 | 578 | assert netutils.autodetect_ip_version([], multicast_addresses=["2001:db8::"]) is r.IPVersion.V6Only | |
| 579 | + | ||
| 580 | + | ||
| 581 | + def test_autodetect_ip_version_non_list_interfaces_with_multicast_addresses() -> None: | ||
| 582 | + """autodetect_ip_version handles non-list interfaces (InterfaceChoice) with multicast_addresses.""" | ||
| 583 | + assert ( | ||
| 584 | + netutils.autodetect_ip_version(r.InterfaceChoice.Default, multicast_addresses=["2001:db8::"]) | ||
| 585 | + is r.IPVersion.V6Only | ||
| 586 | + ) | ||
| 587 | + assert ( | ||
| 588 | + netutils.autodetect_ip_version(r.InterfaceChoice.Default, multicast_addresses=["192.168.1.5"]) | ||
| 589 | + is r.IPVersion.V4Only | ||
| 590 | + ) | ||
| 591 | + | ||
| 592 | + | ||
| 593 | + def test_create_sockets_multicast_addresses_ip_version_all() -> None: | ||
| 594 | + """multicast_addresses works with ip_version=All (no V4Only/V6Only validation triggered).""" | ||
| 595 | + listen_mock = Mock(spec=socket.socket) | ||
| 596 | + respond_mock = Mock(spec=socket.socket) | ||
| 597 | + | ||
| 598 | + def _new_socket(bind_addr, **kwargs): | ||
| 599 | + return listen_mock if bind_addr == ("",) else respond_mock | ||
| 600 | + | ||
| 601 | + with ( | ||
| 602 | + patch("zeroconf._utils.net.new_socket", side_effect=_new_socket), | ||
| 603 | + patch("zeroconf._utils.net.add_multicast_member", return_value=True) as mock_add, | ||
| 604 | + patch("zeroconf._utils.net.set_respond_socket_multicast_options"), | ||
| 605 | + patch("zeroconf._utils.net.socket.socket.setsockopt"), | ||
| 606 | + ): | ||
| 607 | + r.create_sockets( | ||
| 608 | + interfaces=["127.0.0.1"], | ||
| 609 | + multicast_addresses=["192.168.1.5"], | ||
| 610 | + ip_version=r.IPVersion.All, | ||
| 611 | + ) | ||
| 612 | + | ||
| 613 | + joined = [c.args[1] for c in mock_add.call_args_list if c.args[0] is listen_mock] | ||
| 614 | + assert "192.168.1.5" in joined | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments