Repository URL to install this package:
|
Version:
1:7.26.0-1 ▾
|
datadog-agent
/
opt
/
datadog-agent
/
embedded
/
lib
/
python3.8
/
site-packages
/
kazoo
/
tests
/
test_party.py
|
|---|
import uuid
from nose.tools import eq_
from kazoo.testing import KazooTestCase
class KazooPartyTests(KazooTestCase):
def setUp(self):
super(KazooPartyTests, self).setUp()
self.path = "/" + uuid.uuid4().hex
def test_party(self):
parties = [self.client.Party(self.path, "p%s" % i)
for i in range(5)]
one_party = parties[0]
eq_(list(one_party), [])
eq_(len(one_party), 0)
participants = set()
for party in parties:
party.join()
participants.add(party.data.decode('utf-8'))
eq_(set(party), participants)
eq_(len(party), len(participants))
for party in parties:
party.leave()
participants.remove(party.data.decode('utf-8'))
eq_(set(party), participants)
eq_(len(party), len(participants))
def test_party_reuse_node(self):
party = self.client.Party(self.path, "p1")
self.client.ensure_path(self.path)
self.client.create(party.create_path)
party.join()
self.assertTrue(party.participating)
party.leave()
self.assertFalse(party.participating)
self.assertEqual(len(party), 0)
def test_party_vanishing_node(self):
party = self.client.Party(self.path, "p1")
party.join()
self.assertTrue(party.participating)
self.client.delete(party.create_path)
party.leave()
self.assertFalse(party.participating)
self.assertEqual(len(party), 0)
class KazooShallowPartyTests(KazooTestCase):
def setUp(self):
super(KazooShallowPartyTests, self).setUp()
self.path = "/" + uuid.uuid4().hex
def test_party(self):
parties = [self.client.ShallowParty(self.path, "p%s" % i)
for i in range(5)]
one_party = parties[0]
eq_(list(one_party), [])
eq_(len(one_party), 0)
participants = set()
for party in parties:
party.join()
participants.add(party.data.decode('utf-8'))
eq_(set(party), participants)
eq_(len(party), len(participants))
for party in parties:
party.leave()
participants.remove(party.data.decode('utf-8'))
eq_(set(party), participants)
eq_(len(party), len(participants))