RedPillAnalytics / gradle-confluent

Apache License 2.0
22 stars 10 forks source link

Support a /test task #71

Open Sikta opened 5 years ago

Sikta commented 5 years ago

Is your feature request related to a problem? Please describe. Our deployment process expects e2e tests with a rollback if they fail. That would be very difficult to do with KSQL.

Describe the solution you'd like Add an opinionated /test task using https://github.com/confluentinc/ksql/blob/master/docs/developer-guide/ksql-testing-tool.rst. Requires setting up a test folder with input files structured the same as the sql files in the src folder. Use the next input as the output in the ksql-test-runner command. And require an extra ending file for the last test.

Additional context If we added support for this, we could run the /test task in our jenkins PR & CD build and feel more comfortable that the updates are tested before deploying.

Sikta commented 5 years ago

@stewartbryson what do you think about something like this?

stewartbryson commented 5 years ago

The plugin already creates the ksql-script.sql file which could be the input to the ksql-test-runner. I supposed the input JSON file would simply need to be checked in with a known, configurable location. We could either rely on an already installed ksql-test-runner, or install it automatically.