graphql-engine/server/tests-py/queries/v1/metadata/pg_remote_source_query.yaml
Antoine Leblanc 90d3192df2 Unified remote relationship metadata
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2903
Co-authored-by: Vamshi Surabhi <6562944+0x777@users.noreply.github.com>
GitOrigin-RevId: 11fd6efe8cea246471e525cfb5bad66fa53ccaf9
2021-12-01 04:54:30 +00:00

216 lines
4.0 KiB
YAML

- description: PG add source 1
url: /v1/metadata
status: 200
response:
message: success
query:
type: pg_add_source
args:
name: pg1
configuration:
connection_info:
database_url:
from_env: HASURA_GRAPHQL_PG_SOURCE_URL_1
pool_settings:
max_connections: 50
idle_timeout: 180
retries: 1
- description: create table 1
url: /v1/query
status: 200
response:
result_type: CommandOk
result:
query:
type: run_sql
args:
source: pg1
sql: |
create table author_s1(
id serial primary key,
name text unique
);
INSERT INTO author_s1 (name)
VALUES ('Author 1'), ('Author 2');
- description: track table 1
url: /v1/metadata
status: 200
response:
message: success
query:
type: pg_track_table
args:
table: author_s1
source: pg1
- description: PG add source 2
url: /v1/metadata
status: 200
response:
message: success
query:
type: pg_add_source
args:
name: pg2
configuration:
connection_info:
database_url:
from_env: HASURA_GRAPHQL_PG_SOURCE_URL_2
pool_settings:
max_connections: 50
idle_timeout: 180
retries: 1
- description: create table 2
url: /v1/query
status: 200
response:
result_type: CommandOk
result:
query:
type: run_sql
args:
source: pg2
sql: |
create table author_s2(
id serial primary key,
location text unique
);
INSERT INTO author_s2 (location)
VALUES ('Location 1'), ('Location 2');
- description: track table 2
url: /v1/metadata
status: 200
response:
message: success
query:
type: pg_track_table
args:
table: author_s2
source: pg2
- description: create remote relationship
url: /v1/metadata
status: 200
response:
message: success
query:
type: pg_create_remote_relationship
args:
name: author_location
source: pg1
table: author_s1
definition:
to_source:
relationship_type: object
field_mapping:
id: id
source: pg2
table: author_s2
- description: Query using remote relationship
url: /v1/graphql
status: 200
response:
data:
author_s1:
- __typename: author_s1
author_location:
__typename: author_s2
location: Location 1
id: 1
name: Author 1
id: 1
- __typename: author_s1
author_location:
__typename: author_s2
location: Location 2
id: 2
name: Author 2
id: 2
query:
query: |
query MyQuery {
author_s1 {
__typename
author_location {
__typename
location
id
}
name
id
}
}
- description: untrack table 1
url: /v1/metadata
status: 200
response:
message: success
query:
type: pg_untrack_table
args:
table: author_s1
source: pg1
- description: drop table 1
url: /v1/query
status: 200
response:
result_type: CommandOk
result:
query:
type: run_sql
args:
source: pg1
sql: |
drop table author_s1;
- description: PG Drop Source 1
url: /v1/metadata
status: 200
response:
message: success
query:
type: pg_drop_source
args:
name: pg1
- description: untrack table 2
url: /v1/metadata
status: 200
response:
message: success
query:
type: pg_untrack_table
args:
table: author_s2
source: pg2
- description: drop table 2
url: /v1/query
status: 200
response:
result_type: CommandOk
result:
query:
type: run_sql
args:
source: pg2
sql: |
drop table author_s2;
- description: PG Drop Source 2
url: /v1/metadata
status: 200
response:
message: success
query:
type: pg_drop_source
args:
name: pg2