graphql-engine/server/tests-py/queries/v1/computed_fields/create_permissions.yaml

131 lines
2.9 KiB
YAML
Raw Normal View History

- description: Add a computed field get_articles to 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: Add a computed field full_name to author table
url: /v1/query
status: 200
query:
type: add_computed_field
args:
table: author
name: full_name
definition:
function: full_name
response:
message: success
- description: Create select permission with non existed computed fields
url: /v1/query
status: 400
query:
type: create_select_permission
args:
table: author
role: user
permission:
columns: '*'
computed_fields:
- full_name
- random
filter: {}
response:
path: "$.args.permission.computed_fields[1]"
error: computed field "random" does not exist
code: not-exists
- description: Create select permission with computed field which returns a set of table
url: /v1/query
status: 400
query:
type: create_select_permission
args:
table: author
role: user
permission:
columns: '*'
computed_fields:
- full_name
- get_articles
filter: {}
response:
path: "$.args.permission.computed_fields[1]"
error: select permissions on computed field "get_articles" are auto-derived from the permissions on its returning table "article" and cannot be specified manually
code: not-supported
- description: Create select permission on article table
url: /v1/query
status: 200
query:
type: create_select_permission
args:
table: article
role: user
permission:
columns: '*'
filter: {}
response:
message: success
- description: Create select permission with computed fields on author table
url: /v1/query
status: 200
query:
type: create_select_permission
args:
table: author
role: user
permission:
columns: '*'
computed_fields:
- full_name
filter: {}
response:
message: success
- description: Try to drop a computed field defined in permission
url: /v1/query
status: 400
query:
type: drop_computed_field
args:
table: author
name: full_name
response:
path: "$.args"
error: 'cannot drop due to the following dependent objects : permission author.user.select'
code: dependency-error
- description: Drop a computed field with cascade
url: /v1/query
status: 200
query:
type: drop_computed_field
args:
table: author
name: full_name
cascade: true
response:
message: success
- description: Drop a computed field
url: /v1/query
status: 200
query:
type: drop_computed_field
args:
table: author
name: get_articles
response:
message: success