# RabbitMQ Binding Certification The purpose of this module is to provide tests that certify the RabbitMQ Binding as a stable component. ## Test plan * Verify the queue is created/present. * Create component spec. * Run dapr application with component. * Ensure the queue is created/present. * Verify the connection is established to RabbitMQ. * Create component spec. * Run dapr application with component. * Ensure that you have access to the queue and connection to the queue is established. * Verify data is getting stored in the queue. * Create component spec with the data to be stored. * Run dapr application with component to store data in the queue as output binding. * Read stored data from the queue as input binding. * Ensure that read data is same as the data that was stored. * Verify Data level TTL is regarded. * Create component spec with the field `ttlInSeconds`. * Run dapr application with component. * Send a message, wait TTL seconds, and verify the message is deleted/expired. * Verify durable attribute is regarded. * Create component spec with the field `durable` set true. * Run dapr application with component. * Send a message to the queue. * Ensure that the message is stored in the storage. * Verify deleteWhenUnused attribute is regarded. * Create component spec with the field `deleteWhenUnused` set true. * Run dapr application with component. * Send a message to the queue. * Ensure that the message is deleted. * Verify maxPriority attribute is regarded. * Create component spec with the field `maxPriority`. * Run dapr application with component. * Ensure that the priority queue is created. * Verify exclusive attribute is regarded. * Create component spec with the field `exclusive`. * Run dapr application with component. * Ensure that the topic is exclusive. * Verify reconnection to the queue for output binding. * Simulate a network error before sending any messages. * Run dapr application with the component. * After the reconnection, send messages to the queue. * Ensure that the messages sent after the reconnection are sent to the queue. * Verify reconnection to the queue for input binding. * Simulate a network error before reading any messages. * Run dapr application with the component. * After the reconnection, read messages from the queue. * Ensure that the messages after the reconnection are read.