components-contrib icon indicating copy to clipboard operation
components-contrib copied to clipboard

Add certification tests for RabbitMQ Binding

Open amulyavarote opened this issue 2 years ago • 3 comments

The RabbitMQ Binding requires certification tests to be created. Add conformance tests if not present.

Release Note

RELEASE NOTE: ADD Certification tests for RabbitMQ Binding

amulyavarote avatar Jul 22 '22 15:07 amulyavarote

RabbitMQ Binding Certification

The purpose of this module is to provide tests that certify the RabbitMQ Binding as a stable component.

Certification Tests

  • 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 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.

amulyavarote avatar Jul 22 '22 20:07 amulyavarote

/assign

amulyavarote avatar Jul 25 '22 19:07 amulyavarote

@artursouza #1910 is for conformance tests and not certification ...

mukundansundar avatar Aug 03 '22 05:08 mukundansundar