コード例 #1
0
def test_parse_with_port_and_address():
    service_params = ("_abc._tcp.local", "service", ["10.0.0.1"], 123, {})
    message = dns_utils.add_service(dns.DnsMessage(), *service_params)

    parsed = mdns.parse_services(message)
    assert len(parsed) == 1
    dns_utils.assert_service(parsed[0], *service_params)
コード例 #2
0
def test_parse_single_service():
    service_params = ("_abc._tcp.local", "service", ["10.0.10.1"], 123, {"foo": "bar"})
    message = dns_utils.add_service(dns.DnsMessage(), *service_params)

    parsed = mdns.parse_services(message)
    assert len(parsed) == 1
    dns_utils.assert_service(parsed[0], *service_params)
コード例 #3
0
def test_parse_with_name_and_type():
    service_params = ("_abc._tcp.local", "service", [], 0, {})
    message = dns_utils.add_service(dns.DnsMessage(), *service_params)

    parsed = mdns.parse_services(message)
    assert len(parsed) == 1
    dns_utils.assert_service(parsed[0], *service_params)
コード例 #4
0
def test_parse_properties_converts_keys_to_lower_case():
    service_params = ("_abc._tcp.local", "service", [], 0, {"FOO": "bar", "Bar": "FOO"})
    message = dns_utils.add_service(dns.DnsMessage(), *service_params)

    parsed = mdns.parse_services(message)
    assert len(parsed) == 1
    assert parsed[0].properties["foo"] == "bar"
    assert parsed[0].properties["Bar"] == "FOO"
コード例 #5
0
def test_parse_ignore_link_local_address():
    service_params = (
        "_abc._tcp.local",
        "service",
        ["169.254.1.1"],
        123,
        {"foo": "bar"},
    )
    message = dns_utils.add_service(dns.DnsMessage(), *service_params)

    parsed = mdns.parse_services(message)
    assert len(parsed) == 1
    assert parsed[0].address is None
コード例 #6
0
def test_parse_pick_one_available_address():
    addresses = ["10.0.10.1", "10.0.10.2"]
    service_params = (
        "_abc._tcp.local",
        "service",
        addresses,
        123,
        {"foo": "bar"},
    )
    message = dns_utils.add_service(dns.DnsMessage(), *service_params)

    parsed = mdns.parse_services(message)
    assert len(parsed) == 1
    assert str(parsed[0].address) in addresses
コード例 #7
0
def test_parse_double_service():
    service1_params = ("_abc._tcp.local", "service1", "10.0.10.1", 123, {"foo": "bar"})
    service2_params = (
        "_def._tcp.local",
        "service2",
        "10.0.10.2",
        456,
        {"fizz": "buzz"},
    )
    message = dns_utils.add_service(mdns.DnsMessage(), *service1_params)
    message = dns_utils.add_service(message, *service2_params)

    parsed = mdns.parse_services(message)
    assert len(parsed) == 2
    dns_utils.assert_service(parsed[0], *service1_params)
    dns_utils.assert_service(parsed[1], *service2_params)
コード例 #8
0
def test_parse_no_service_name():
    service_params = ("_abc._tcp.local", None, [], 0, {})
    message = dns_utils.add_service(dns.DnsMessage(), *service_params)

    parsed = mdns.parse_services(message)
    assert len(parsed) == 0
コード例 #9
0
def test_parse_no_service_type():
    service_params = (None, "service", [], 0, {})
    message = dns_utils.add_service(dns.DnsMessage(), *service_params)

    parsed = mdns.parse_services(message)
    assert len(parsed) == 0
コード例 #10
0
def test_parse_empty_service():
    assert mdns.parse_services(dns.DnsMessage()) == []