graphql-engine/server/tests-py/queries/v1/computed_fields/create_permissions.yaml
Abby Sassel 3ba5d1e540 server: include more detail in inconsistent metadata error messages (fix #6684)
GitOrigin-RevId: 1a0d8fa2b465320e9ab4ea43259d0e8d92364473
2021-05-19 05:02:53 +00:00

172 lines
4.3 KiB
YAML

- 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:
internal:
- definition:
role: user
source: default
comment:
permission:
allow_aggregations: false
computed_fields:
- full_name
- random
columns: '*'
filter: {}
table:
schema: public
name: author
reason: 'Inconsistent object: in table "author": in permission for role "user":
computed field "random" does not exist'
name: select_permission user in table author in source default
type: select_permission
path: $.args
error: 'Inconsistent object: in table "author": in permission for role "user": computed
field "random" does not exist'
code: invalid-configuration
- 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:
internal:
- definition:
role: user
source: default
comment:
permission:
allow_aggregations: false
computed_fields:
- full_name
- get_articles
columns: '*'
filter: {}
table:
schema: public
name: author
reason: 'Inconsistent object: in table "author": in permission for role "user":
select permissions on computed field "get_articles" are auto-derived from the
permissions on its returning table "article" and cannot be specified manually'
name: select_permission user in table author in source default
type: select_permission
path: $.args
error: 'Inconsistent object: in table "author": in permission for role "user": select
permissions on computed field "get_articles" are auto-derived from the permissions
on its returning table "article" and cannot be specified manually'
code: invalid-configuration
- 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
in source "default"'
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