graphql-engine/server/tests-py/queries/v1/computed_fields/add_and_drop.yaml
Auke Booij ee7c7b1672
server: allow computed fields to have access to Hasura's session variables (fix #3846) (#4486)
* Allow computed fields to have access to Hasura's session variables

* Inform about session args for computed fields in changelog and docs

* Add tests for session arguments for computed fields (and the respective errors)

Co-authored-by: Tirumarai Selvan <tiru@hasura.io>
Co-authored-by: Marion Schleifer <marion@hasura.io>
Co-authored-by: Rakesh Emmadi <12475069+rakeshkky@users.noreply.github.com>
2020-04-27 17:07:03 +02:00

80 lines
1.6 KiB
YAML

- description: Add a computed field for author table
url: /v1/query
status: 200
query:
type: add_computed_field
args:
table: author
name: get_articles
definition:
function: fetch_articles
table_argument: author_row
response:
message: success
- description: Drop computed field of a non existed table
url: /v1/query
status: 400
query:
type: drop_computed_field
args:
table: random
name: get_articles
response:
path: "$.args.table"
error: table "random" does not exist
code: not-exists
- description: Drop a non existed computed field
url: /v1/query
status: 400
query:
type: drop_computed_field
args:
table: author
name: random
response:
path: "$.args.name"
error: computed field "random" does not exist
code: not-exists
- description: Drop a valid computed field
url: /v1/query
status: 200
query:
type: drop_computed_field
args:
table: author
name: get_articles
response:
message: success
- description: Add a computed field, passing the Hasura session argument
url: /v1/query
status: 200
query:
type: add_computed_field
args:
table: author
name: test_session
definition:
function: test_session
session_argument: session
response:
message: success
- description: obtain the session variable via computed fields
url: /v1/graphql
status: 200
query:
query: |
query {
author_by_pk(id: 1) {
test_session(args:{key:"x-hasura-role"})
}
}
response:
data:
author_by_pk:
test_session: admin