-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
Dupe of hasura/graphql-engine-mono#2853 with branch renamed so it doesn't break a tool. prev pr: hasura/graphql-engine-mono#2911 next pr: hasura/graphql-engine-mono#2922 This implements #7801 Some points to keep in mind for review: * How state is passed to the tests. Do we like how this works? * I quite like it, with the opaque type [`State`](https://github.com/hasura/graphql-engine-mono/blob/68f33051ca6373c42988e78d069eea2a135dc190/server/tests-hspec/Harness/State.hs#L17), we can avoid churn when adding things. * The [setup/teardown](https://github.com/hasura/graphql-engine-mono/blob/68f33051ca6373c42988e78d069eea2a135dc190/server/tests-hspec/Spec.hs#L19-L31) seems clean. * By using hspec's own means to pass and denote context, we avoid "getting new ideas" for how to structure the tests -- we use a standard. Hopefully, that means the tests' structure rarely change. * The various flags passed in the [ServeOptions](https://github.com/hasura/graphql-engine-mono/blob/68f33051ca6373c42988e78d069eea2a135dc190/server/tests-hspec/Harness/Constants.hs#L123) - if there are any causes for concern, raise them here. My thinking is that, there are lots. I've picked some "sane" defaults (mostly empty). The tests pass. I think as we add more complex tests, these flags will be scrutinised and updated as needed. I think it's valuable that all flags are explicitly listed here, though. PR-URL: hasura/graphql-engine-mono#2921 GitOrigin-RevId: 2c2e70b
- Loading branch information
1 parent
a79886b
commit 926da74
Showing
19 changed files
with
449 additions
and
111 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
# This file starts up the necessary database services to test | ||
# graphql-engine. | ||
# | ||
# Run the following to get started: | ||
# | ||
# docker-compose up -d | ||
# | ||
# That will start up services in the background. To take them down, | ||
# you have to run | ||
# | ||
# docker-compose down | ||
# | ||
# If you changed DB init scripts, then you should also run: | ||
# | ||
# docker-compose down --volumes | ||
# | ||
# That'll delete the volumes. Otherwise e.g. PostgreSQL will skip | ||
# initializing if a DB already exists. | ||
# | ||
# If you omit -d, it'll run them all in the foreground, then you can | ||
# stop them with your usual control-C terminal command. | ||
# | ||
# Facts: | ||
# | ||
# * The SERVICE PORTS numbering start at 65001, 65002, etc. to avoid | ||
# bother existing instances of databases. | ||
# | ||
# * The login credentials are, where possible, all "hasura" to avoid | ||
# unnecessary mental overhead. | ||
|
||
version: "3.3" | ||
services: | ||
|
||
mariadb: | ||
image: mariadb:10.6.4-focal@sha256:c014ba1efc5dbd711d0520c7762d57807f35549de3414eb31e942a420c8a2ed2 | ||
ports: | ||
- "65001:3306" | ||
environment: | ||
MARIADB_USER: "hasura" | ||
MARIADB_PASSWORD: "hasura" | ||
MARIADB_DATABASE: "hasura" | ||
MARIADB_ALLOW_EMPTY_ROOT_PASSWORD: "true" | ||
|
||
postgres: | ||
image: postgres:14-alpine@sha256:1cf551de75fd602ebc94ccda93305a4e411f941bf9465f59d850bdcfd474ca52 | ||
ports: | ||
- "65002:5432" | ||
environment: | ||
POSTGRES_USER: "hasura" | ||
POSTGRES_PASSWORD: "hasura" | ||
POSTGRES_DB: "hasura" | ||
volumes: | ||
- ./docker-compose/postgres:/docker-entrypoint-initdb.d |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
#!/bin/bash | ||
set -e | ||
|
||
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL | ||
create schema hasura; | ||
EOSQL |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.