def test_service_discovery_filter_passing_wrong_object_fails(dns_sd): filter_ = dns_sd.ServiceDiscoveryFilter() try: filter_.matches_service_info(object()) assert False except TypeError: assert True
def test_service_discovery_filters_in_discovered_service_with_correct_uuid( dns_sd, sd, zeroconf): service = dns_sd.Service(type_='halrcomp') sd.register(service) sd.filter = dns_sd.ServiceDiscoveryFilter( txt_records={b'uuid': b'12345678'}) sd.add_service( zeroconf, '_machinekit._tcp.local.', 'SuperPrint 192.168.7.2._machinekit._tcp.local.', ) assert service.ready is True
def test_service_discovery_filters_out_discovered_service_with_wrong_uuid( dns_sd, sd, zeroconf): service = dns_sd.Service(type_='halrcomp') sd.register(service) sd.filter = dns_sd.ServiceDiscoveryFilter( txt_records={b'uuid': b'87654321'}) sd.add_service( zeroconf, '_machinekit._tcp.local.', 'Machinekit on MyBox 12.0.0.1._machinekit._tcp.local.', ) assert service.ready is False
def test_service_discovery_filters_in_disappeared_service_with_correct_uuid( dns_sd, sd, zeroconf): service = dns_sd.Service(type_='halrcomp') sd.register(service) sd.filter = dns_sd.ServiceDiscoveryFilter( txt_records={b'uuid': b'12345678'}) zeroconf.get_service_info.return_value = ServiceInfoFactory.create( name='SuperPrint', host='192.168.7.2') sd.add_service( zeroconf, '_machinekit._tcp.local.', 'SuperPrint 192.168.7.2._machinekit._tcp.local.', ) sd.remove_service( zeroconf, '_machinekit._tcp.local.', 'SuperPrint 192.168.7.2._machinekit._tcp.local.', ) assert service.ready is False
def test_service_discovery_filter_reject_non_matching_name(dns_sd): service_info = ServiceInfoFactory().create(name='Carolus Rex') filter_ = dns_sd.ServiceDiscoveryFilter(name='Adolfus Maximus') assert filter_.matches_service_info(service_info) is False assert filter_.matches_name(service_info.name) is False
def test_service_discovery_filter_accept_exact_matching_name(dns_sd): service_info = ServiceInfoFactory().create(name='Foo') filter_ = dns_sd.ServiceDiscoveryFilter(name='Foo') assert filter_.matches_service_info(service_info) is True assert filter_.matches_name(service_info.name) is True
def test_service_discovery_filter_accept_fuzzy_name(dns_sd): service_info = ServiceInfoFactory().create(name='Hello World') filter_ = dns_sd.ServiceDiscoveryFilter(name='Hello') assert filter_.matches_service_info(service_info) is True assert filter_.matches_name(service_info.name) is True
def test_service_discovery_filter_reject_wrong_uuid(dns_sd): service_info = ServiceInfoFactory().create(uuid=b'123456789') filter_ = dns_sd.ServiceDiscoveryFilter( txt_records={b'uuid': b'987654321'}) assert filter_.matches_service_info(service_info) is False
def test_service_discovery_filter_accept_correct_uuid(dns_sd): service_info = ServiceInfoFactory().create(uuid=b'987654321') filter_ = dns_sd.ServiceDiscoveryFilter( txt_records={b'uuid': b'987654321'}) assert filter_.matches_service_info(service_info) is True