Ejemplo n.º 1
0
    def test_manage_other_nodes(self):
        self.assertFalse(check_return_status(self.node_q))
        self.node_q.append(self.node1)
        self.node_q.append(self.node2)

        self.assertEqual(list(self.node_q), [self.node1, self.node2])
        self.assertEqual(list(self.reg_q), [])
        self.assertEqual(list(self.wait_q), [])

        manage_incoming_nodes(self.node_q, self.reg_q, self.wait_q)
        self.assertEqual(list(self.node_q), [])
        self.assertEqual(list(self.reg_q), [])
        self.assertEqual(list(self.wait_q), [self.node1, self.node2])

        # unregistered nodes are still peers
        self.node_q.append(self.node1)
        self.node_q.append(self.node2)

        manage_incoming_nodes(self.node_q, self.reg_q, self.wait_q)
        self.assertEqual(list(self.node_q), [])
        self.assertEqual(list(self.reg_q), [])
        self.assertEqual(list(self.wait_q), [self.node1,
                                             self.node2,
                                             self.node1,
                                             self.node2])

        # node1 still not seen yet, late register from node2
        self.node_q.append(self.node1)
        self.node_q.append(self.node2)
        self.reg_q.append(self.node2)

        manage_incoming_nodes(self.node_q, self.reg_q, self.wait_q)
        self.assertEqual(list(self.node_q), [])
        self.assertEqual(list(self.reg_q), [self.node2])
        self.assertEqual(list(self.wait_q), [self.node1,
                                             self.node1,
                                             self.node1])

        # node2 registered and node1 expired
        manage_incoming_nodes(self.node_q, self.reg_q, self.wait_q)
        self.assertEqual(list(self.node_q), [])
        self.assertEqual(list(self.reg_q), [self.node2])
        self.assertEqual(list(self.wait_q), [])
Ejemplo n.º 2
0
 def test_multiple_returns(self):
     self.assertTrue(check_return_status((True, 'Success', 0)))
     self.assertFalse(check_return_status((False, 'blarg', 1)))
     self.assertTrue(
         check_return_status(['forecast is good', 'some clouds', 0]))
Ejemplo n.º 3
0
 def test_string_return(self):
     self.assertFalse(check_return_status('blurt'))
     good_list = ['OK', 'Success', 'UP', 'good']
     for thing in good_list:
         self.assertTrue(check_return_status(thing))
Ejemplo n.º 4
0
 def test_bool_return(self):
     self.assertTrue(check_return_status(True))
     self.assertFalse(check_return_status(False))
Ejemplo n.º 5
0
 def test_int_return(self):
     self.assertTrue(check_return_status(0))
     self.assertFalse(check_return_status(1))
Ejemplo n.º 6
0
 def test_bad_returns(self):
     naughty_list = [1, (), '', [], {}, {False: 'blarg'}, False, None]
     for thing in naughty_list:
         # print(thing)
         self.assertFalse(check_return_status(thing))