mirror of https://github.com/apache/druid.git
26e3c44f4b
* enables to launch a fake broker based on test resources (druidtest uri) * could record queries into new testfiles during usage * instead of re-purpose Calcite's Hook migrates to use DruidHook which we can add further keys * added a quidem-ut module which could be the place for tests which could iteract with modules/etc |
||
---|---|---|
.. | ||
src | ||
README.md | ||
pom.xml |
README.md
Quidem UT
Enables to write sql level tests easily. Can be used to write tests against existing test backends (ComponentSupplier) - by doing so the testcases can be moved closer to the excercised codes.
Usage
Install java&maven (if needed)
If you don't have java&maven - one way to set that up is by using sdkman like this:
# install sdkman
curl -s "https://get.sdkman.io" | bash
# at the end of installation either open a new terminal; or follow the instructions at the end
# install java&maven
sdk install java 11.0.23-zulu
sdk install maven
# run mvn to see if it works
mvn --version
# download druid sourcces (FIXME: change this to the main repo/branch before merging)
git clone --branch quidem-record https://github.com/kgyrtkirk/druid
Running these tests
- CI execution happens by a standard JUnit test
QTest
in this module - the
dev/quidem
script can be used to run these tests (after the project is built)
Launching a test generating broker
- make sure to build the project first; one way to do that is:
mvn install -pl quidem-ut/ -am -DskipTests -Pskip-static-checks
- launch the broker instance with:
mvn exec:exec -pl quidem-ut -Dquidem.record.autostart=true
- the broker will be running at http://localhost:12345
- the used test configuration backend can configured by supplying
quidem.uri
mvn exec:exec -pl quidem-ut -Dquidem.uri=druidtest:///?componentSupplier=ThetaSketchComponentSupplier
- new record files can be started by calling http://localhost:12345/quidem/start
- if
quidem.record.autostart
is omitted recording will not start
- if
- after finished with the usage of the broker ; a new
record-123.iq
file will be in the project's worktree - it will contain all the executed statements- running
dev/quidem -Dquidem.overwrite
updates the resultsets of alliq
files around there - rename the testfile to have a more descriptive name
- running