class WhenInitializingConnectionAttempt(_BaseTestCase): __contexts__ = ( ('shuffle', patch(mod + '.random.shuffle')), ) def configure(self): self.broker = Broker() self.broker._nodes = sentinel.nodes self.broker._abort_on_error = True def execute(self): self.broker._initialize_connection_attempt( sentinel.connection_attempts) def should_shuffle_nodes(self): self.ctx.shuffle.assert_called_once_with(sentinel.nodes) def should_set_attempts(self): self.assertEqual(self.broker._attempts, 0) def should_set_max_attempts(self): self.assertEqual(self.broker._max_attempts, sentinel.connection_attempts) def should_initialize_abort_on_error_flag(self): self.assertFalse(self.broker._abort_on_error)
class WhenUsingUnlimitedConnectionAttempts(_BaseTestCase): def configure(self): self.broker = Broker() self.broker._initialize_connection_attempt(max_attempts=None) def execute(self): self.broker._increment_connection_attempts() def should_preserve_abort_on_error_flag(self): self.assertFalse(self.broker._abort_on_error)
class WhenReachingMaximumConnectionAttempts(_BaseTestCase): def configure(self): self.broker = Broker() self.broker._initialize_connection_attempt(max_attempts=1) def execute(self): self.broker._increment_connection_attempts() def should_activate_abort_on_error_flag(self): self.assertTrue(self.broker._abort_on_error)
class WhenIncrementingConnectionAttempts(_BaseTestCase): def configure(self): self.broker = Broker() self.broker._initialize_connection_attempt(max_attempts=2) def execute(self): self.broker._increment_connection_attempts() def should_increment_attempts(self): self.assertEqual(self.broker._attempts, 1) def should_preserve_abort_on_error_flag(self): self.assertFalse(self.broker._abort_on_error)