cloudevents / sdk-go

Go SDK for CloudEvents
https://cloudevents.github.io/sdk-go/
Apache License 2.0
828 stars 218 forks source link

Automated CI testing for AMQP binding/transport #236

Closed alanconway closed 4 years ago

alanconway commented 5 years ago

Currently the AMQP binding/transport tests require an external AMQP broker or router to execute the full test set, some tests are skipped if one is not found. From the tests:

// Requires an external AMQP broker or router, skip if not available.
// The env variable TEST_AMQP_URL provides the URL, default is "/test"
//
// One option is http://qpid.apache.org/components/dispatch-router/indext.html.
// It can be installed from source or from RPMs, see https://qpid.apache.org/packages.html

These tests should be fully automated in CI. Two options:

  1. Set up a docker-based qpid dispatch router in the CI env, ironment.
  2. Write a simple in-line AMQP test server for self test.

In the long run we should add server-side support to the binding, and we will be able to do 2, but that requires an underlying AMQP library with server support (see https://github.com/vcabbage/amqp/pull/178) so 1. is a good intermediate step.

slinkydeveloper commented 4 years ago

@n3wscott Do you have any idea of how we can configure a simple docker image in circle ci to run together with tests?