Exemplo n.º 1
0
    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()
Exemplo n.º 2
0
    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()
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
    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)
Exemplo n.º 5
0
    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)
Exemplo n.º 6
0
    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)
Exemplo n.º 7
0
    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)
Exemplo n.º 8
0
    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()
Exemplo n.º 9
0
    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'])
Exemplo n.º 10
0
    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'])
Exemplo n.º 11
0
    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
        )
Exemplo n.º 12
0
    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)