components-contrib/tests/certification/pubsub/pulsar
Josh van Leeuwen 9be6d157a4
tests/certification: Updates dapr/dapr to `master` HEAD (#3084)
Signed-off-by: joshvanl <me@joshvanl.dev>
Co-authored-by: Bernd Verst <github@bernd.dev>
2023-08-21 17:06:55 -07:00
..
components Pubsub pulsar authentication ~OIDC~ OAuth2 (#3026) 2023-08-02 17:17:55 -07:00
config tests/certification: Updates dapr/dapr to `master` HEAD (#3084) 2023-08-21 17:06:55 -07:00
README.md Add partition support for pulsar (#2647) 2023-03-14 16:37:31 +00:00
config.yaml Add pulsar cert tests 2023-01-09 15:06:27 +00:00
private.key Add Apache Pulsar e2e encryption (#2812) 2023-04-28 18:19:15 +00:00
public.key Add Apache Pulsar e2e encryption (#2812) 2023-04-28 18:19:15 +00:00
pulsar_test.go tests/certification: Updates dapr/dapr to `master` HEAD (#3084) 2023-08-21 17:06:55 -07:00

README.md

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