def test_notification_v2_with_config(self):
   config = '%s\n%s\n%s\n%s' % (
     'server.0=10.0.0.1:2889:3888:participant;0.0.0.0:2181',
     'server.0=10.0.0.2:2889:3888:participant;0.0.0.0:2181',
     'server.0=10.0.0.3:2889:3888:participant;0.0.0.0:2181',
     'version=deadbeef'
   )
   payload = ''.join((
     '\x00\x00\x00\x01',                  # state
     '\x00\x00\x00\x00\x00\x00\x00\x03',  # leader
     '\x00\x00\x00\x00\x00\x00\x20\x00',  # zxid
     '\x00\x00\x00\x00\x00\x00\x00\x0a',  # election epoch
     '\x00\x00\x00\x00\x00\x00\x00\x0a',  # peer epoch
     '\x00\x00\x00\x02',                  # version
     '\x00\x00\x00\xaf',                  # config length
     config,
   ))
   notif = Message.from_payload(payload, '127.0.0.1:3888', '127.0.0.1:9000', 0)
   self.assertEqual(1, notif.state)
   self.assertEqual(3, notif.leader)
   self.assertEqual(0x2000, notif.zxid)
   self.assertEqual(10, notif.election_epoch)
   self.assertEqual(10, notif.peer_epoch)
   self.assertEqual(2, notif.version)
   self.assertEqual(config, notif.config)
示例#2
0
 def test_notification_v2_with_config(self):
   config = '%s\n%s\n%s\n%s' % (
     'server.0=10.0.0.1:2889:3888:participant;0.0.0.0:2181',
     'server.0=10.0.0.2:2889:3888:participant;0.0.0.0:2181',
     'server.0=10.0.0.3:2889:3888:participant;0.0.0.0:2181',
     'version=deadbeef'
   )
   payload = b''.join((
     b'\x00\x00\x00\x01',                  # state
     b'\x00\x00\x00\x00\x00\x00\x00\x03',  # leader
     b'\x00\x00\x00\x00\x00\x00\x20\x00',  # zxid
     b'\x00\x00\x00\x00\x00\x00\x00\x0a',  # election epoch
     b'\x00\x00\x00\x00\x00\x00\x00\x0a',  # peer epoch
     b'\x00\x00\x00\x02',                  # version
     b'\x00\x00\x00\xaf',                  # config length
     to_bytes(config),
   ))
   notif = Message.from_payload(payload, '127.0.0.1:3888', '127.0.0.1:9000', 0)
   self.assertEqual(1, notif.state)
   self.assertEqual(3, notif.leader)
   self.assertEqual(0x2000, notif.zxid)
   self.assertEqual(10, notif.election_epoch)
   self.assertEqual(10, notif.peer_epoch)
   self.assertEqual(2, notif.version)
   self.assertEqual(config, notif.config)
示例#3
0
 def test_initial_message(self):
   payload = b''.join((
     b'\xff\xff\xff\xff\xff\xff\x00\x00',  # proto version: -65536L
     b'\x00\x00\x00\x00\x00\x00\x00\x06',  # server id
     b'\x00\x00\x00\x0e',                  # addr len
     b'127.0.0.1:3888',                    # addr
   ))
   init = Message.from_payload(payload, '127.0.0.1:3888', '127.0.0.1:9000', 0)
   self.assertEqual(6, init.server_id)
   self.assertEqual('127.0.0.1:3888', init.election_addr)
 def test_initial_message(self):
   payload = ''.join((
     '\xff\xff\xff\xff\xff\xff\x00\x00',  # proto version: -65536L
     '\x00\x00\x00\x00\x00\x00\x00\x06',  # server id
     '\x00\x00\x00\x0e',                  # addr len
     '127.0.0.1:3888',                    # addr
   ))
   init = Message.from_payload(payload, '127.0.0.1:3888', '127.0.0.1:9000', 0)
   self.assertEqual(6, init.server_id)
   self.assertEqual('127.0.0.1:3888', init.election_addr)
示例#5
0
 def test_notification_28(self):
   payload = '%s%s%s%s' % (
     '\x00\x00\x00\x01',                  # state
     '\x00\x00\x00\x00\x00\x00\x00\x03',  # leader
     '\x00\x00\x00\x00\x00\x00 \x00',     # zxid
     '\x00\x00\x00\x00\x00\x00\x00\n',    # election epoch
   )
   notif = Message.from_payload(payload, '127.0.0.1:3888', '127.0.0.1:9000', 0)
   self.assertEqual(1, notif.state)
   self.assertEqual(3, notif.leader)
   self.assertEqual(0x2000, notif.zxid)
   self.assertEqual(10, notif.election_epoch)
   self.assertEqual(-1, notif.peer_epoch)
   self.assertEqual('', notif.config)
示例#6
0
 def test_notification_28(self):
   payload = ''.join((
     '\x00\x00\x00\x01',                  # state
     '\x00\x00\x00\x00\x00\x00\x00\x03',  # leader
     '\x00\x00\x00\x00\x00\x00\x20\x00',     # zxid
     '\x00\x00\x00\x00\x00\x00\x00\x0a',    # election epoch
   ))
   notif = Message.from_payload(payload, '127.0.0.1:3888', '127.0.0.1:9000', 0)
   self.assertEqual(1, notif.state)
   self.assertEqual(3, notif.leader)
   self.assertEqual(0x2000, notif.zxid)
   self.assertEqual(10, notif.election_epoch)
   self.assertEqual(-1, notif.peer_epoch)
   self.assertEqual(0, notif.version)
   self.assertEqual('', notif.config)
 def test_notification_36(self):
   payload = ''.join((
     '\x00\x00\x00\x01',                  # state
     '\x00\x00\x00\x00\x00\x00\x00\x03',  # leader
     '\x00\x00\x00\x00\x00\x00\x20\x00',  # zxid
     '\x00\x00\x00\x00\x00\x00\x00\x0a',  # election epoch
     '\x00\x00\x00\x00\x00\x00\x00\x0a',  # peer epoch
   ))
   notif = Message.from_payload(payload, '127.0.0.1:3888', '127.0.0.1:9000', 0)
   self.assertEqual(1, notif.state)
   self.assertEqual(3, notif.leader)
   self.assertEqual(0x2000, notif.zxid)
   self.assertEqual(10, notif.election_epoch)
   self.assertEqual(10, notif.peer_epoch)
   self.assertEqual(0, notif.version)
   self.assertEqual('', notif.config)
示例#8
0
 def test_notification_36(self):
     payload = '%s%s%s%s%s' % (
         '\x00\x00\x00\x01',  # state
         '\x00\x00\x00\x00\x00\x00\x00\x03',  # leader
         '\x00\x00\x00\x00\x00\x00 \x00',  # zxid
         '\x00\x00\x00\x00\x00\x00\x00\n',  # election epoch
         '\x00\x00\x00\x00\x00\x00\x00\n',  # peer epoch
     )
     notif = Message.from_payload(payload, '127.0.0.1:3888',
                                  '127.0.0.1:9000', 0)
     self.assertEqual(1, notif.state)
     self.assertEqual(3, notif.leader)
     self.assertEqual(0x2000, notif.zxid)
     self.assertEqual(10, notif.election_epoch)
     self.assertEqual(10, notif.peer_epoch)
     self.assertEqual('', notif.config)
示例#9
0
 def test_notification_with_config(self):
     config = '%s\n%s\n%s\n%s' % (
         'server.0=10.0.0.1:2889:3888:participant;0.0.0.0:2181',
         'server.0=10.0.0.2:2889:3888:participant;0.0.0.0:2181',
         'server.0=10.0.0.3:2889:3888:participant;0.0.0.0:2181',
         'version=deadbeef')
     payload = '%s%s%s%s%s%s' % (
         '\x00\x00\x00\x01',  # state
         '\x00\x00\x00\x00\x00\x00\x00\x03',  # leader
         '\x00\x00\x00\x00\x00\x00 \x00',  # zxid
         '\x00\x00\x00\x00\x00\x00\x00\n',  # election epoch
         '\x00\x00\x00\x00\x00\x00\x00\n',  # peer epoch
         config,
     )
     notif = Message.from_payload(payload, '127.0.0.1:3888',
                                  '127.0.0.1:9000', 0)
     self.assertEqual(1, notif.state)
     self.assertEqual(3, notif.leader)
     self.assertEqual(0x2000, notif.zxid)
     self.assertEqual(10, notif.election_epoch)
     self.assertEqual(10, notif.peer_epoch)
     self.assertEqual(config, notif.config)