Exemplo n.º 1
0
    def test_multiple_addresses(self):
        n = Node()

        # add a normal domain mapping for 2 nodes
        n.put(HOST1, ADDR1, TAG1)
        n.put(HOST1, ADDR2, TAG2)
        res = n.get(HOST1)
        self.assertEquals(res[0], (ADDR1, TAG1))
        self.assertEquals(res[1], (ADDR2, TAG2))

        # remove one tag
        n.remove(HOST1, TAG1)
        res = n.get(HOST1)
        self.assertEquals(res, [(ADDR2, TAG2)])
Exemplo n.º 2
0
    def test_multiple_wildcards(self):
        n = Node()

        # add a wildcard mapping
        n.put(WILD1, ADDR1, TAG1)
        n.put(WILD1, ADDR2, TAG2)
        res = n.get('xyz.foo.com')
        self.assertEquals(res[0], (ADDR1, TAG1))
        self.assertEquals(res[1], (ADDR2, TAG2))

        # remove the wildcard mapping for one tagged node
        n.remove(WILD1, TAG2)
        res = n.get('abc.foo.com')
        self.assertEquals(res, [(ADDR1, TAG1)])

        # remove the remaining wildcard mapping
        n.remove(WILD1, TAG1)
        res = n.get('abc.foo.com')
        self.assertEquals(res, None)
Exemplo n.º 3
0
 def __init__(self):
     self._mappings = {}
     self._active = {}
     self._domains = Node()
     self._lock = threading.Lock()
Exemplo n.º 4
0
 def __init__(self, domain=None):
     self._mappings = defaultdict(set)
     self._active = defaultdict()
     self._domains = Node()
     self._lock = threading.Lock()
     self._domain = domain.lstrip('.') if domain else None
Exemplo n.º 5
0
 def test_tagging(self):
     n = Node()
     n.put(HOST1, ADDR1, TAG1)
     res = n.get(HOST1)
     self.assertEquals(res, [(ADDR1, TAG1)])