In hasura/graphql-engine#7172, an issue was found where under certain conditions a JSON field from Postgres would be parsed as a GraphQL input object, which is not possible in general, and also unnecessary. Luckily, this was already fixed by the time `v2.0.6` got around, presumably thanks to 4a83bb1834. This adds a regression test.
https://github.com/hasura/graphql-engine-mono/pull/2158
GitOrigin-RevId: 1ded1456f6b89726e08f77cf3383ad88c04de451
This should install python dependencies if required, and run in isolation. The output format is described in the pytest documentation. Errors and failures are indicated by Fs and Es.
Tests Structure
Tests are grouped as test classes in test modules (names starting with test_)
The configuration files (if needed) for the tests in a class are usually kept in one folder.
The folder name is usually either the dir variable or the dir() function
Some tests (like in test_graphql_queries.py) requires a setup and teardown per class.
Here we are extending the DefaultTestSelectQueries class.
This class defines a fixture which will run the configurations in setup.yaml and teardown.yaml once per class
Extending test class should define a function name dir(), which returns the configuration folder
For mutation tests (like in test_graphql_mutations.py)
We need a schema_setup and schema_teardown per class
And values_setup and values_teardown per test
Doing schema setup and teardown per test is expensive.
We are extending the DefaultTestMutations class for this.
This class defines a fixture which will run the configuration in setup.yaml and teardown.yaml once per class.
Another fixture defined in this class runs the configuration in values_setup.yaml and values_teardown.yaml once per class.