diff --git a/tests/services/test_registry.py b/tests/services/test_registry.py new file mode 100644 index 00000000..74af1e65 --- /dev/null +++ b/tests/services/test_registry.py @@ -0,0 +1,48 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + + +"""Unit tests for zeroconf._services.registry.""" + +import unittest +import socket + +import zeroconf as r +from zeroconf import ServiceInfo + + +class TestServiceRegistry(unittest.TestCase): + def test_only_register_once(self): + type_ = "_test-srvc-type._tcp.local." + name = "xxxyyy" + registration_name = "%s.%s" % (name, type_) + + desc = {'path': '/~paulsm/'} + info = ServiceInfo( + type_, registration_name, 80, 0, 0, desc, "ash-2.local.", addresses=[socket.inet_aton("10.0.1.2")] + ) + + registry = r.ServiceRegistry() + registry.add(info) + self.assertRaises(r.ServiceNameAlreadyRegistered, registry.add, info) + registry.remove(info) + registry.add(info) + + def test_lookups(self): + type_ = "_test-srvc-type._tcp.local." + name = "xxxyyy" + registration_name = "%s.%s" % (name, type_) + + desc = {'path': '/~paulsm/'} + info = ServiceInfo( + type_, registration_name, 80, 0, 0, desc, "ash-2.local.", addresses=[socket.inet_aton("10.0.1.2")] + ) + + registry = r.ServiceRegistry() + registry.add(info) + + assert registry.get_service_infos() == [info] + assert registry.get_info_name(registration_name) == info + assert registry.get_infos_type(type_) == [info] + assert registry.get_infos_server("ash-2.local.") == [info] + assert registry.get_types() == [type_] diff --git a/tests/test_init.py b/tests/test_init.py index 9dffe12f..33924ecb 100644 --- a/tests/test_init.py +++ b/tests/test_init.py @@ -419,43 +419,6 @@ def test_register_and_lookup_type_by_uppercase_name(self): zc.close() -class TestServiceRegistry(unittest.TestCase): - def test_only_register_once(self): - type_ = "_test-srvc-type._tcp.local." - name = "xxxyyy" - registration_name = "%s.%s" % (name, type_) - - desc = {'path': '/~paulsm/'} - info = ServiceInfo( - type_, registration_name, 80, 0, 0, desc, "ash-2.local.", addresses=[socket.inet_aton("10.0.1.2")] - ) - - registry = r.ServiceRegistry() - registry.add(info) - self.assertRaises(r.ServiceNameAlreadyRegistered, registry.add, info) - registry.remove(info) - registry.add(info) - - def test_lookups(self): - type_ = "_test-srvc-type._tcp.local." - name = "xxxyyy" - registration_name = "%s.%s" % (name, type_) - - desc = {'path': '/~paulsm/'} - info = ServiceInfo( - type_, registration_name, 80, 0, 0, desc, "ash-2.local.", addresses=[socket.inet_aton("10.0.1.2")] - ) - - registry = r.ServiceRegistry() - registry.add(info) - - assert registry.get_service_infos() == [info] - assert registry.get_info_name(registration_name) == info - assert registry.get_infos_type(type_) == [info] - assert registry.get_infos_server("ash-2.local.") == [info] - assert registry.get_types() == [type_] - - def test_ptr_optimization(): # instantiate a zeroconf instance