components-contrib/tests/certification/pubsub/pulsar/README.md

3.0 KiB

Pulsar Pubsub Certification

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

Certification Tests

  • Verify with single publisher / single subscriber
    • Run dapr application with 1 publisher and 1 subscriber
    • Publisher publishes to 2 topics
    • Subscriber is subscribed to 1 topic
    • Simulate periodic errors and verify that the component retires on error
    • Verify that all expected messages were received
    • Verify that subscriber does not receive messages from the non-subscribed topic
  • Verify with single publisher / multiple subscribers with same consumerID
    • Run dapr application with 1 publisher and 2 subscribers
    • Publisher publishes to 1 topic
    • Subscriber is subscribed to 1 topic
    • Simulate periodic errors and verify that the component retires on error
    • Verify that all expected messages were received
  • Verify with single publisher / multiple subscribers with different consumerIDs
    • Run dapr application with 1 publisher and 2 subscribers
    • Publisher publishes to 1 topic
    • Subscriber is subscribed to 1 topic
    • Simulate periodic errors and verify that the component retires on error
    • Verify that all expected messages were received
  • Verify with multiple publishers / multiple subscribers with different consumerIDs
    • Run dapr application with 2 publishers and 2 subscribers
    • Publisher publishes to 1 topic
    • Subscriber is subscribed to 1 topic
    • Simulate periodic errors and verify that the component retires on error
    • Verify that all expected messages were received
  • Verify data with a topic that does not exist
    • Run dapr application with 1 publisher and 1 subscriber
    • Verify the creation of topic
    • Send messages to the topic created
    • Verify that subscriber received all the messages
  • Verify reconnection after the network interruptions
    • Run dapr application with 1 publisher and 1 subscriber
    • Publisher publishes to 1 topic
    • Subscriber is subscribed to 1 topic
    • Simulate network interruptions and verify that the component retires on error
    • Verify that all expected messages were received
  • Verify data with an optional metadata query parameter deliverAfter/deliverAt set
    • Run dapr application with 1 publisher and 1 subscriber
    • Publisher publishes to 1 topic
    • Subscriber is subscribed to 1 topic
    • Verify that subscriber has not immediately received messages
    • Wait for message delay to pass
    • Verify that all expected messages were received
  • Verify data with persistent topics after pulsar restart
    • Run dapr application with 1 publisher and 1 subscriber
    • Publisher publishes to 1 topic
    • Restart pulsar service
    • Subscriber is subscribed to 1 topic
    • Verify that all expected messages were received
  • Verify ordering process with partitioned topic
    • Run dapr application with 1 publisher and 2 subscriber
    • Publisher publishes to 1 4-partitioned topic
    • Subscriber is subscribed to 1 topic
    • Verify that all expected messages were received in order