jet/tests
2021-12-17 16:59:43 +01:00
..
dbconfig Add support for running integration tests with dockerized test databases. 2021-12-17 16:59:43 +01:00
init Add support for running integration tests with dockerized test databases. 2021-12-17 16:59:43 +01:00
internal/utils Add SQLBuilder support for SQLite databases. 2021-10-21 13:40:26 +02:00
mysql Add support for running integration tests with dockerized test databases. 2021-12-17 16:59:43 +01:00
postgres Add USING clause support for DELETE statements 2021-12-08 18:14:57 +01:00
sqlite Add FROM clause support for UPDATE statements 2021-12-08 18:13:58 +01:00
testdata@f8329498fd Add support for running integration tests with dockerized test databases. 2021-12-17 16:59:43 +01:00
docker-compose.yaml Add support for running integration tests with dockerized test databases. 2021-12-17 16:59:43 +01:00
Makefile Add support for running integration tests with dockerized test databases. 2021-12-17 16:59:43 +01:00
Readme.md Add support for running integration tests with dockerized test databases. 2021-12-17 16:59:43 +01:00

Integration tests

This folder contains integration tests intended to test jet generator, statements and query result mapping with a running database.

How to run tests?

Before we can run tests, we need to set up and initialize test databases. To simplify the process there is a Makefile with a list of helper commands.

# We first need to checkout testdata from separate repository into git submodule,
# then download docker image for each of the databases listed in docker-compose.yaml file, and 
# finally run and initialize databases with downloaded test data.
# Note that on the first run this command might take a couple of minutes.
make setup

# When databases are ready, we can generate sql builder and model types needed to compile the tests.
make jet-gen

Then we can run the tests the usual way:

go test -v ./...

To removes test containers, volumes, and images:

make cleanup
# If temp ./.docker folder is still not empty, use 'sudo rm -rf .docker' to remove it.