Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_channel0_client_properties(self):
channel = Channel0(FakeConnection())
result = channel._client_properties()
information = 'See https://github.com/eandersson/amqp-storm'
python_version = 'Python %s' % platform.python_version()
self.assertIsInstance(result, dict)
self.assertTrue(result['capabilities']['authentication_failure_close'])
self.assertTrue(result['capabilities']['consumer_cancel_notify'])
self.assertTrue(result['capabilities']['publisher_confirms'])
self.assertTrue(result['capabilities']['connection.blocked'])
self.assertTrue(result['capabilities']['basic.nack'])
self.assertEqual(result['information'], information)
self.assertEqual(result['platform'], python_version)
def test_channel0_forcefully_closed_connection(self):
connection = amqpstorm.Connection('localhost', 'guest', 'guest',
lazy=True)
connection.set_state(connection.OPEN)
channel = Channel0(connection)
channel._close_connection(
Connection.Close(reply_text=b'',
reply_code=500)
)
self.assertTrue(connection.is_closed)
self.assertRaises(AMQPConnectionError, connection.check_for_errors)
def test_channel0_send_close_connection_frame(self):
connection = FakeConnection()
channel = Channel0(connection)
channel.send_close_connection_frame()
self.assertNotEqual(connection.frames_out, [])
channel_id, frame_out = connection.frames_out.pop()
self.assertEqual(channel_id, 0)
self.assertIsInstance(frame_out, Connection.Close)
def test_channel0_on_close_frame(self):
connection = amqpstorm.Connection('localhost', 'guest', 'guest',
lazy=True)
connection.set_state(connection.OPEN)
channel = Channel0(connection)
self.assertFalse(connection.exceptions)
channel.on_frame(Connection.Close())
self.assertTrue(connection.exceptions)
self.assertTrue(connection.is_closed)
self.assertRaisesRegexp(AMQPConnectionError,
'Connection was closed by remote server: ',
connection.check_for_errors)
def test_channel0_credentials(self):
connection = FakeConnection()
connection.parameters['username'] = 'guest'
connection.parameters['password'] = 'password'
channel = Channel0(connection)
credentials = channel._credentials()
self.assertEqual(credentials, '\0guest\0password')
def test_channel0_unhandled_frame(self):
connection = amqpstorm.Connection('localhost', 'guest', 'guest',
lazy=True)
channel = Channel0(connection)
channel.on_frame(FakeFrame())
def test_channel0_is_blocked(self):
connection = amqpstorm.Connection('localhost', 'guest', 'guest',
lazy=True)
channel = Channel0(connection)
self.assertFalse(channel.is_blocked)
channel.on_frame(Connection.Blocked())
self.assertTrue(channel.is_blocked)
def test_channel0_open_ok_frame(self):
connection = amqpstorm.Connection('localhost', 'guest', 'guest',
lazy=True)
channel = Channel0(connection)
self.assertFalse(connection.is_open)
channel.on_frame(Connection.OpenOk())
self.assertTrue(connection.is_open)
def __init__(self, connection):
super(Channel0, self).__init__()
self.is_blocked = False
self.server_properties = {}
self._connection = connection
self._heartbeat = connection.parameters['heartbeat']
self._parameters = connection.parameters
self.parameters = {
'hostname': hostname,
'username': username,
'password': password,
'port': port,
'virtual_host': kwargs.get('virtual_host', DEFAULT_VIRTUAL_HOST),
'heartbeat': kwargs.get('heartbeat', DEFAULT_HEARTBEAT_INTERVAL),
'timeout': kwargs.get('timeout', DEFAULT_SOCKET_TIMEOUT),
'ssl': kwargs.get('ssl', False),
'ssl_options': kwargs.get('ssl_options', {}),
'client_properties': kwargs.get('client_properties', {})
}
self._validate_parameters()
self._io = IO(self.parameters, exceptions=self._exceptions,
on_read_impl=self._read_buffer)
self._channel0 = Channel0(self, self.parameters['client_properties'])
self._channels = {}
self._last_channel_id = None
self.heartbeat = Heartbeat(self.parameters['heartbeat'],
self._channel0.send_heartbeat)
if not kwargs.get('lazy', False):
self.open()