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), [])
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]))
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))
def test_bool_return(self): self.assertTrue(check_return_status(True)) self.assertFalse(check_return_status(False))
def test_int_return(self): self.assertTrue(check_return_status(0)) self.assertFalse(check_return_status(1))
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))