def test_api_connection_close(self): reason = 'travis-ci' api = ManagementApi(HTTP_URL, USERNAME, PASSWORD, timeout=1) self.assertEqual(len(api.connection.list()), 0, 'found an open connection, test will fail') connection = Connection(HOST, USERNAME, PASSWORD, timeout=1) connections = retry_function_wrapper(api.connection.list) self.assertIsNotNone(connections) self.assertEqual(len(connections), 1) for conn in api.connection.list(): self.assertEqual(api.connection.close(conn['name'], reason=reason), None) time.sleep(1) self.assertRaisesRegexp( AMQPConnectionError, 'Connection was closed by remote server: ' 'CONNECTION_FORCED - %s' % reason, connection.check_for_errors) self.assertEqual(len(api.connection.list()), 0) connection.close()
def test_api_connection_close(self): reason = 'travis-ci' api = ManagementApi(HTTP_URL, USERNAME, PASSWORD, timeout=1) self.assertEqual(len(api.connection.list()), 0, 'found an open connection, test will fail') connection = Connection(HOST, USERNAME, PASSWORD, timeout=1) connections = retry_function_wrapper(api.connection.list) self.assertIsNotNone(connections) self.assertEqual(len(connections), 1) for conn in api.connection.list(): self.assertEqual(api.connection.close(conn['name'], reason=reason), None) time.sleep(1) self.assertRaisesRegexp( AMQPConnectionError, 'Connection was closed by remote server: ' 'CONNECTION_FORCED - %s' % reason, connection.check_for_errors ) self.assertEqual(len(api.connection.list()), 0) connection.close()
def test_api_connection_list(self): api = ManagementApi(HTTP_URL, USERNAME, PASSWORD) connections = retry_function_wrapper(api.connection.list) self.assertIsNotNone(connections) self.assertEqual(len(connections), 1) self.assertIsInstance(connections[0], dict)
def test_api_connection_get(self): api = ManagementApi(HTTP_URL, USERNAME, PASSWORD) connections = retry_function_wrapper(api.connection.list) self.assertTrue(connections) for conn in connections: self.assertIsInstance(api.connection.get(conn['name']), dict)
def test_channel_get(self): api = ManagementApi(HTTP_URL, USERNAME, PASSWORD) channels = retry_function_wrapper(api.channel.list) self.assertIsNotNone(channels) for channel in channels: self.assertIsInstance(api.channel.get(channel['name']), dict)
def test_api_connection_list(self): api = ManagementApi(HTTP_URL, USERNAME, PASSWORD) connections = retry_function_wrapper(api.connection.list) self.assertIsNotNone(connections) self.assertEqual(len(connections), 1) self.assertIsInstance(connections[0], dict)
def test_api_connection_get(self): api = ManagementApi(HTTP_URL, USERNAME, PASSWORD) connections = retry_function_wrapper(api.connection.list) self.assertTrue(connections) for conn in connections: self.assertIsInstance(api.connection.get(conn['name']), dict)
def test_channel_list(self): api = ManagementApi(HTTP_URL, USERNAME, PASSWORD) channels = retry_function_wrapper(api.channel.list) self.assertIsNotNone(channels) self.assertIsInstance(channels, list) self.assertIsInstance(channels[0], dict) self.channel.close()
def test_functional_client_properties(self): connections = retry_function_wrapper(self.api.connection.list) self.assertIsNotNone(connections) client_properties = connections[0]['client_properties'] result = self.connection._channel0._client_properties() self.assertIsInstance(result, dict) self.assertEqual(result['information'], client_properties['information']) self.assertEqual(result['product'], client_properties['product']) self.assertEqual(result['platform'], client_properties['platform'])
def test_functional_client_properties(self): connections = retry_function_wrapper(self.api.connection.list) self.assertIsNotNone(connections) client_properties = connections[0]['client_properties'] result = self.connection._channel0._client_properties() self.assertIsInstance(result, dict) self.assertEqual(result['information'], client_properties['information']) self.assertEqual(result['product'], client_properties['product']) self.assertEqual(result['platform'], client_properties['platform'])
def test_functional_connection_forcefully_closed(self): self.channel.confirm_deliveries() self.channel.queue.declare(self.queue_name) connection_list = retry_function_wrapper(self.api.connection.list) self.assertIsNotNone(connection_list) for connection in connection_list: self.api.connection.close(connection['name']) start_time = time.time() while len(self.api.connection.list()) > 0: if time.time() - start_time >= 60: break time.sleep(1) self.assertRaisesRegexp( AMQPConnectionError, 'Connection was closed by remote server: ' 'CONNECTION_FORCED - Closed via management api', self.channel.basic.publish, 'body', self.queue_name, '', None, True, False ) self.assertRaisesRegexp( AMQPConnectionError, 'Connection was closed by remote server: ' 'CONNECTION_FORCED - Closed via management api', self.channel.check_for_errors ) self.assertRaisesRegexp( AMQPConnectionError, 'Connection was closed by remote server: ' 'CONNECTION_FORCED - Closed via management api', self.connection.check_for_errors )
def test_functional_connection_forcefully_closed(self): connection_list = retry_function_wrapper(self.api.connection.list) self.assertIsNotNone(connection_list) for connection in connection_list: self.api.connection.close(connection['name']) # Sleep for 1s to make sure RabbitMQ has time to catch up. time.sleep(1) self.assertRaisesRegexp( AMQPConnectionError, 'Connection was closed by remote server: ' 'CONNECTION_FORCED - Closed via management api', self.channel.basic.publish, 'body', 'routing_key') self.assertRaisesRegexp( AMQPConnectionError, 'Connection was closed by remote server: ' 'CONNECTION_FORCED - Closed via management api', self.channel.check_for_errors) self.assertRaisesRegexp( AMQPConnectionError, 'Connection was closed by remote server: ' 'CONNECTION_FORCED - Closed via management api', self.connection.check_for_errors)