Commit Graph

20 Commits

Author SHA1 Message Date
Daniel Harvey
d3ee6d46a9 [tooling] add make py-tests command
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7196
GitOrigin-RevId: 1507285bb42734a04bfb130f0cd1a0c28be2f3ca
2022-12-07 14:13:22 +00:00
Daniel Harvey
a7c6fd65f5 [ci] fix matrix test setup
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7195
GitOrigin-RevId: 75494d1bb4cb9060f03a918626135cd6f6191744
2022-12-07 09:27:26 +00:00
Daniel Harvey
9dc863e479 [server/tests] allow api-tests to be filtered by backend type
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7056
GitOrigin-RevId: 84618c3d5a0c2273b51584831287968b4df73fba
2022-11-25 15:40:41 +00:00
Daniel Harvey
80c3846aaa [server/tests] run setup for each set of tests again
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7000
GitOrigin-RevId: 2e85870c970144dbd417cf555b14b63c18f495ab
2022-11-23 07:54:28 +00:00
Daniel Harvey
4683d4786d [server/tests] new Citus DB per test
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6833
Co-authored-by: Gil Mizrahi <8547573+soupi@users.noreply.github.com>
GitOrigin-RevId: 343aba12ff30c67908160b4c153334d46c5655ff
2022-11-18 11:10:29 +00:00
Abby Sassel
4626084eaf NDAT-293 Cleanup Test.Databases.Postgres
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6929
GitOrigin-RevId: ef973937b3d80fba2ffa4a30ba9460c799eb677c
2022-11-17 22:35:40 +00:00
Samir Talwar
80c977da85 server: Split the integration tests out into their own directories.
We currently have a fairly intricate way of running our PostgreSQL and MSSQL integration tests (not the API tests). By splitting them out, we can simplify this a lot. Most prominently, we can rely on Cabal to be our argument parser instead of writing our own.

We can also simplify how they're run in CI. They are currently (weirdly) run alongside the Python integration tests. This breaks them out into their own jobs for better visibility, and to avoid conflating the two.

The changes are as follows:

- The "unit" tests that rely on a running PostgreSQL database are extracted out to a new test directory so they can be run separately.
  - Most of the `Main` module comes with them.
  - We now refer to these as "integration" tests instead.
- Likewise for the "unit" tests that rely on a running MS SQL Server database. These are a little simpler and we can use `hspec-discover`, with a `SpecHook` to extract the connection string from an environment variable.
  - Henceforth, these are the MS SQL Server integration tests.
- New CI jobs have been added for each of these.
  - There wasn't actually a job for the MS SQL Server integration tests. It's pretty amazing they still run well.
- The "haskell-tests" CI job, which used to run the PostgreSQL integration tests, has been removed.
- The makefiles and contributing guide have been updated to run these.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6912
GitOrigin-RevId: 67bbe2941bba31793f63d04a9a693779d4463ee1
2022-11-17 12:56:26 +00:00
Daniel Harvey
ab0f67cfd9 [server/tests] fallback to default postgres port when none is provided
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6860
GitOrigin-RevId: abe30f2fa1df89281dae0ffaf9ef20ef50cf7d33
2022-11-14 22:38:28 +00:00
Daniel Harvey
1f4a54347c [tooling] start databases in parallel in makefiles
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6713
GitOrigin-RevId: bd1eb1e6f4cfff1e19f8284d74997208ceae5f98
2022-11-03 17:17:41 +00:00
Daniel Harvey
4e630170ac [tests] Add Yugabyte to docker compose
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6532
GitOrigin-RevId: 1915c8f073ffb5f97d9e92faf436a8f03f4694b7
2022-11-01 15:19:18 +00:00
Daniel Harvey
f4f4221d04 tests: Docker Compose healthchecks
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6282
Co-authored-by: Gil Mizrahi <8547573+soupi@users.noreply.github.com>
Co-authored-by: Samir Talwar <47582+SamirTalwar@users.noreply.github.com>
GitOrigin-RevId: c2b1f958364ce5e1ef704fa1275d18ac810ca35b
2022-10-17 13:20:31 +00:00
Tom Harding
f05f746b94 Extract the test harness from the Hspec tests
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6095
Co-authored-by: Gil Mizrahi <8547573+soupi@users.noreply.github.com>
GitOrigin-RevId: 51693f7324e62e201a2bdc701255cf6c730745e2
2022-10-04 08:31:26 +00:00
Gil Mizrahi
5aab7e5ce9 add cockroach to docker compose and tests-hspec
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5558
Co-authored-by: Daniel Harvey <4729125+danieljharvey@users.noreply.github.com>
GitOrigin-RevId: b7f242939e718d5bb4f22b11c093ae77d21cdcce
2022-08-25 17:18:40 +00:00
Daniel Harvey
518bf38d48 tooling: make commands for data-connectors
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5395
GitOrigin-RevId: 76e10ac7ebb1fa655a7523d38174f049dc683105
2022-08-25 12:09:15 +00:00
Daniel Harvey
145fed8a7f tooling: add make commands for running unit tests
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5537
GitOrigin-RevId: 6427a51f729a4d4724299ea9a6a5d0e808882c86
2022-08-19 11:23:43 +00:00
Daniel Harvey
0c9a97040e tooling: Add make ghcid-test-x commands
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5274
GitOrigin-RevId: e9096812b1cd97f45fd89bf7deeca4d45fd9d422
2022-08-03 11:07:05 +00:00
Samir Talwar
4f85976155 server: Get make test-backends working and somewhat speedy.
* Fix `make start-sqlserver` so it can find `sqlcmd`.
* Start the DC reference agent when testing all backends.
* Start backends in parallel so it doesn't take so long to spin them up. This is achieved by splitting all `start-*` tasks into `spawn-*` and `wait-for-*`.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5176
GitOrigin-RevId: ea483a755daa3fa6a8701f9d3dd0f393bc56510f
2022-07-27 13:30:14 +00:00
Samir Talwar
778b1bae2b Fun improvements to Makefiles, with the intent of re-using test-infrastructure.mk.
I intend to use the Make targets around starting and stopping backend databases in order to wrap the Python integration tests in targets.

To that end, I have:

1. Factored out test infrastructure targets into _test-infrastructure.mk_.
2. Actually run the functions from _util.sh_; previously we were just running a bash script with no explicit commands. _util.sh_ must be `source`d and then you invoke the relevant function.
3. Run `docker-compose` through Nix if possible.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5136
GitOrigin-RevId: d7a01958045a82199c969ec3f88387d7d76d254b
2022-07-22 10:57:23 +00:00
Daniel Harvey
8acb952f0b tests: Remove tests-hspec.tix before running tests
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5109
GitOrigin-RevId: fc5721f2b577e3892ea3dada3842338cc19704bb
2022-07-20 11:21:37 +00:00
Daniel Harvey
37fb40ddec tooling: Add make build... commands
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4824
GitOrigin-RevId: eeee7c47fb8b8160d85aee2d9d07fdf9ed14a703
2022-07-04 11:45:21 +00:00