Skip to content

Commit

Permalink
refactor: clean up scalar (#2515)
Browse files Browse the repository at this point in the history
Co-authored-by: Tushar Mathur <[email protected]>
  • Loading branch information
ssddOnTop and tusharmath authored Jul 25, 2024
1 parent 05c7cad commit e129a78
Show file tree
Hide file tree
Showing 37 changed files with 745 additions and 1,126 deletions.
2 changes: 2 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,7 @@ num = "0.4.3"
indenter = "0.3.3"
derive_more = { workspace = true }
enum_dispatch = "0.3.13"
strum = "0.26.2"

[dev-dependencies]
tailcall-prettier = { path = "tailcall-prettier" }
Expand Down
37 changes: 16 additions & 21 deletions generated/.tailcallrc.graphql
Original file line number Diff line number Diff line change
Expand Up @@ -430,20 +430,17 @@ directive @upstream(
) on SCHEMA

"""
Represents list of bytes
Field whose value is a sequence of bytes.
"""
scalar Bytes

"""
A date string, such as 2007-12-03, is compliant with the full-date format outlined
in section 5.6 of the RFC 3339 (https://datatracker.ietf.org/doc/html/rfc3339) profile
of the ISO 8601 standard for the representation of dates and times using the Gregorian
calendar.
Field whose value conforms to the standard date format as specified in RFC 3339 (https://datatracker.ietf.org/doc/html/rfc3339).
"""
scalar Date

"""
field whose value conforms to the standard internet email address format as specified
Field whose value conforms to the standard internet email address format as specified
in HTML Spec: https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address.
"""
scalar Email
Expand All @@ -454,70 +451,68 @@ Empty scalar type represents an empty value.
scalar Empty

"""
Represents signed integer type 128 bit size as string
Field whose value is a 128-bit signed integer.
"""
scalar Int128

"""
Represents signed integer type 16bit size
Field whose value is a 16-bit signed integer.
"""
scalar Int16

"""
Represents signed integer type 32bit size
Field whose value is a 32-bit signed integer.
"""
scalar Int32

"""
Represents signed integer type 64bit size as string
Field whose value is a 64-bit signed integer.
"""
scalar Int64

"""
Represents signed integer type 8bit size
Field whose value is an 8-bit signed integer.
"""
scalar Int8

"""
The JSON scalar type represents JSON values as specified by [ECMA-404](www.ecma-international.org/publications/files/ECMA-ST/
ECMA-404.pdf).
Field whose value conforms to the standard JSON format as specified in RFC 8259 (https://datatracker.ietf.org/doc/html/rfc8259).
"""
scalar JSON

"""
A field whose value conforms to the standard E.164 format as specified in E.164 specification
Field whose value conforms to the standard E.164 format as specified in E.164 specification
(https://en.wikipedia.org/wiki/E.164).
"""
scalar PhoneNumber

"""
Represents unsigned integer type 128bit size as string
Field whose value is a 128-bit unsigned integer.
"""
scalar UInt128

"""
Represents unsigned integer type 16bit size
Field whose value is a 16-bit unsigned integer.
"""
scalar UInt16

"""
Represents unsigned integer type 32bit size
Field whose value is a 32-bit unsigned integer.
"""
scalar UInt32

"""
Represents unsigned integer type 64bit size as string
Field whose value is a 64-bit unsigned integer.
"""
scalar UInt64

"""
Represents unsigned integer type 8bit size
Field whose value is an 8-bit unsigned integer.
"""
scalar UInt8

"""
A field whose value conforms to the standard URL format as specified in RFC3986 (https://www.ietf.org/rfc/rfc3986.txt),
and it uses real JavaScript URL objects.
Field whose value conforms to the standard URL format as specified in RFC 3986 (https://datatracker.ietf.org/doc/html/rfc3986).
"""
scalar Url

Expand Down
115 changes: 17 additions & 98 deletions generated/.tailcallrc.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -210,8 +210,7 @@
},
"Bytes": {
"title": "Bytes",
"description": "Represents list of bytes",
"type": "string"
"description": "Field whose value is a sequence of bytes."
},
"Cache": {
"description": "The @cache operator enables caching for the query, field or type it is applied to.",
Expand Down Expand Up @@ -316,43 +315,15 @@
},
"Date": {
"title": "Date",
"description": "A date string, such as 2007-12-03, is compliant with the full-date format outlined in section 5.6 of the RFC 3339 (https://datatracker.ietf.org/doc/html/rfc3339) profile of the ISO 8601 standard for the representation of dates and times using the Gregorian calendar.",
"type": "object",
"required": [
"Date"
],
"properties": {
"Date": {
"type": "string"
}
}
"description": "Field whose value conforms to the standard date format as specified in RFC 3339 (https://datatracker.ietf.org/doc/html/rfc3339)."
},
"Email": {
"title": "Email",
"description": "field whose value conforms to the standard internet email address format as specified in HTML Spec: https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address.",
"type": "object",
"required": [
"Email"
],
"properties": {
"Email": {
"type": "string",
"pattern": "/^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/"
}
}
"description": "Field whose value conforms to the standard internet email address format as specified in HTML Spec: https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address."
},
"Empty": {
"title": "Empty",
"description": "Empty scalar type represents an empty value.",
"type": "object",
"required": [
"Empty"
],
"properties": {
"Empty": {
"type": "null"
}
}
"description": "Empty scalar type represents an empty value."
},
"Encoding": {
"type": "string",
Expand Down Expand Up @@ -775,33 +746,23 @@
},
"Int128": {
"title": "Int128",
"description": "Represents signed integer type 128 bit size as string",
"type": "integer",
"format": "int128"
"description": "Field whose value is a 128-bit signed integer."
},
"Int16": {
"title": "Int16",
"description": "Represents signed integer type 16bit size",
"type": "integer",
"format": "int16"
"description": "Field whose value is a 16-bit signed integer."
},
"Int32": {
"title": "Int32",
"description": "Represents signed integer type 32bit size",
"type": "integer",
"format": "int32"
"description": "Field whose value is a 32-bit signed integer."
},
"Int64": {
"title": "Int64",
"description": "Represents signed integer type 64bit size as string",
"type": "integer",
"format": "int64"
"description": "Field whose value is a 64-bit signed integer."
},
"Int8": {
"title": "Int8",
"description": "Represents signed integer type 8bit size",
"type": "integer",
"format": "int8"
"description": "Field whose value is an 8-bit signed integer."
},
"JS": {
"type": "object",
Expand All @@ -816,16 +777,7 @@
},
"JSON": {
"title": "JSON",
"description": "The JSON scalar type represents JSON values as specified by [ECMA-404](www.ecma-international.org/publications/files/ECMA-ST/ ECMA-404.pdf).",
"type": "object",
"required": [
"JSON"
],
"properties": {
"JSON": {
"type": "string"
}
}
"description": "Field whose value conforms to the standard JSON format as specified in RFC 8259 (https://datatracker.ietf.org/doc/html/rfc8259)."
},
"KeyValue": {
"type": "object",
Expand Down Expand Up @@ -939,16 +891,7 @@
},
"PhoneNumber": {
"title": "PhoneNumber",
"description": "A field whose value conforms to the standard E.164 format as specified in E.164 specification (https://en.wikipedia.org/wiki/E.164).",
"type": "object",
"required": [
"PhoneNumber"
],
"properties": {
"PhoneNumber": {
"type": "string"
}
}
"description": "Field whose value conforms to the standard E.164 format as specified in E.164 specification (https://en.wikipedia.org/wiki/E.164)."
},
"PrometheusExporter": {
"description": "Output the telemetry metrics data to prometheus server",
Expand Down Expand Up @@ -1362,38 +1305,23 @@
},
"UInt128": {
"title": "UInt128",
"description": "Represents unsigned integer type 128bit size as string",
"type": "integer",
"format": "uint128",
"minimum": 0.0
"description": "Field whose value is a 128-bit unsigned integer."
},
"UInt16": {
"title": "UInt16",
"description": "Represents unsigned integer type 16bit size",
"type": "integer",
"format": "uint16",
"minimum": 0.0
"description": "Field whose value is a 16-bit unsigned integer."
},
"UInt32": {
"title": "UInt32",
"description": "Represents unsigned integer type 32bit size",
"type": "integer",
"format": "uint32",
"minimum": 0.0
"description": "Field whose value is a 32-bit unsigned integer."
},
"UInt64": {
"title": "UInt64",
"description": "Represents unsigned integer type 64bit size as string",
"type": "integer",
"format": "uint64",
"minimum": 0.0
"description": "Field whose value is a 64-bit unsigned integer."
},
"UInt8": {
"title": "UInt8",
"description": "Represents unsigned integer type 8bit size",
"type": "integer",
"format": "uint8",
"minimum": 0.0
"description": "Field whose value is an 8-bit unsigned integer."
},
"Union": {
"type": "object",
Expand Down Expand Up @@ -1565,16 +1493,7 @@
},
"Url": {
"title": "Url",
"description": "A field whose value conforms to the standard URL format as specified in RFC3986 (https://www.ietf.org/rfc/rfc3986.txt), and it uses real JavaScript URL objects.",
"type": "object",
"required": [
"Url"
],
"properties": {
"Url": {
"type": "string"
}
}
"description": "Field whose value conforms to the standard URL format as specified in RFC 3986 (https://datatracker.ietf.org/doc/html/rfc3986)."
},
"Variant": {
"description": "Definition of GraphQL value",
Expand Down
2 changes: 1 addition & 1 deletion src/core/blueprint/blueprint.rs
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ pub struct ScalarTypeDefinition {
pub name: String,
pub directive: Vec<Directive>,
pub description: Option<String>,
pub validator: scalar::ScalarType,
pub scalar: scalar::Scalar,
}

#[derive(Clone, Debug)]
Expand Down
8 changes: 5 additions & 3 deletions src/core/blueprint/definitions.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@ pub fn to_scalar_type_definition(name: &str) -> Valid<Definition, String> {
name: name.to_string(),
directive: Vec::new(),
description: None,
validator: scalar::get_scalar(name),
scalar: scalar::Scalar::find(name)
.unwrap_or(&scalar::Scalar::Empty)
.clone(),
}))
}

Expand Down Expand Up @@ -127,7 +129,7 @@ fn process_field_within_type(context: ProcessFieldWithinTypeContext) -> Valid<Ty
}

let next_is_required = is_required && next_field.required;
if scalar::is_predefined_scalar(&next_field.type_of) {
if scalar::Scalar::is_predefined(&next_field.type_of) {
return process_path(ProcessPathContext {
type_info,
config_module,
Expand Down Expand Up @@ -358,7 +360,7 @@ pub fn update_cache_resolvers<'a>(

fn validate_field_type_exist(config: &Config, field: &Field) -> Valid<(), String> {
let field_type = &field.type_of;
if !scalar::is_predefined_scalar(field_type) && !config.contains(field_type) {
if !scalar::Scalar::is_predefined(field_type) && !config.contains(field_type) {
Valid::fail(format!("Undeclared type '{field_type}' was found"))
} else {
Valid::succeed(())
Expand Down
4 changes: 2 additions & 2 deletions src/core/blueprint/index.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ use indexmap::IndexMap;
use crate::core::blueprint::{
Blueprint, Definition, FieldDefinition, InputFieldDefinition, SchemaDefinition,
};
use crate::core::scalar::is_predefined_scalar;
use crate::core::scalar;

///
/// A read optimized index of all the types in the Blueprint. Provide O(1)
Expand Down Expand Up @@ -33,7 +33,7 @@ impl Index {
pub fn type_is_scalar(&self, type_name: &str) -> bool {
let def = self.map.get(type_name).map(|(def, _)| def);

matches!(def, Some(Definition::Scalar(_))) || is_predefined_scalar(type_name)
matches!(def, Some(Definition::Scalar(_))) || scalar::Scalar::is_predefined(type_name)
}

pub fn get_field(&self, type_name: &str, field_name: &str) -> Option<&QueryField> {
Expand Down
Loading

2 comments on commit e129a78

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

running 231 tests
test run_execution_spec::add-field-index-list.md ... ok
test run_execution_spec::add-field-many-list.md ... ok
test run_execution_spec::add-field-many.md ... ok
test run_execution_spec::add-field-modify.md ... ok
test run_execution_spec::add-field-with-modify.md ... ok
test run_execution_spec::add-field-with-composition.md ... ok
test run_execution_spec::add-field.md ... ok
test run_execution_spec::apollo-tracing.md ... ok
test run_execution_spec::async-cache-disabled.md ... ok
test run_execution_spec::async-cache-enabled.md ... ok
test run_execution_spec::async-cache-enable-multiple-resolvers.md ... FAILED
test run_execution_spec::async-cache-global.md ... ok
test run_execution_spec::async-cache-inflight-request.md ... ok
test run_execution_spec::auth-protected-without-auth.md ... ok
test run_execution_spec::auth-basic.md ... ok
test run_execution_spec::auth-jwt.md ... ok
test run_execution_spec::batching-disabled.md ... ok
test run_execution_spec::auth.md ... ok
test run_execution_spec::batching-default.md ... ok
test run_execution_spec::batching-group-by-default.md ... ok
test run_execution_spec::batching-group-by-optional-key.md ... ok
test run_execution_spec::batching-group-by.md ... ok
test run_execution_spec::batching-post.md ... ok
test run_execution_spec::batching.md ... ok
test run_execution_spec::cache-control.md ... ok
test run_execution_spec::caching-collision.md ... ok
test run_execution_spec::caching.md ... ok
test run_execution_spec::call-graphql-datasource.md ... ok
test run_execution_spec::call-multiple-steps-piping.md ... ok
test run_execution_spec::call-mutation.md ... ok
test run_execution_spec::cors-allow-cred-false.md ... ok
test run_execution_spec::call-operator.md ... ok
test run_execution_spec::cors-invalid-expose-headers.md ... ok
test run_execution_spec::cors-invalid-headers.md ... ok
test run_execution_spec::cors-invalid-methods.md ... ok
test run_execution_spec::cors-invalid-origins.md ... ok
test run_execution_spec::cors-allow-cred-true.md ... ok
test run_execution_spec::cors-allow-cred-vary.md ... ok
test run_execution_spec::custom-headers.md ... ok
test run_execution_spec::dedupe_batch_query_execution.md ... ok
test run_execution_spec::default-value-arg.md ... ok
test run_execution_spec::experimental-headers-error.md ... ok
test run_execution_spec::default-value-config.md ... ok
test run_execution_spec::env-value.md ... ok
test run_execution_spec::experimental-headers.md ... ok
test run_execution_spec::graphql-dataloader-batch-request.md ... ok
test run_execution_spec::graphql-dataloader-no-batch-request.md ... ok
test run_execution_spec::graphql-datasource-errors.md ... FAILED
test run_execution_spec::graphql-datasource-mutation.md ... ok
test run_execution_spec::graphql-datasource-no-args.md ... ok
test run_execution_spec::graphql-datasource-query-directives.md ... ok
test run_execution_spec::graphql-datasource-with-args.md ... ok
test run_execution_spec::graphql-datasource-with-empty-enum.md ... ok
test run_execution_spec::graphql-datasource-with-mandatory-enum.md ... FAILED
test run_execution_spec::graphql-nested-datasource.md ... ok
test run_execution_spec::grpc-batch.md ... ok
test run_execution_spec::grpc-error.md ... ok
test run_execution_spec::grpc-json.md ... ok
test run_execution_spec::grpc-map.md ... ok
test run_execution_spec::grpc-oneof.md ... FAILED
test run_execution_spec::grpc-override-url-from-upstream.md ... ok
test run_execution_spec::grpc-proto-with-same-package.md ... ok
test run_execution_spec::grpc-reflection.md ... ok
test run_execution_spec::grpc-simple.md ... ok
test run_execution_spec::grpc-url-from-upstream.md ... ok
test run_execution_spec::https.md ... ok
test run_execution_spec::inline-index-list.md ... ok
test run_execution_spec::inline-field.md ... FAILED
test run_execution_spec::input-type-protected-error.md ... ok
test run_execution_spec::io-cache.md ... ok
test run_execution_spec::inline-many-list.md ... ok
test run_execution_spec::inline-many.md ... ok
test run_execution_spec::js-directive.md ... FAILED
test run_execution_spec::modified-field.md ... ok
test run_execution_spec::mutation-put.md ... ok
test run_execution_spec::mutation.md ... ok
test run_execution_spec::jsonplaceholder-call-post.md ... ok
test run_execution_spec::n-plus-one-list.md ... ok
test run_execution_spec::n-plus-one.md ... ok
test run_execution_spec::nested-objects.md ... ok
test run_execution_spec::nested-recursive-types.md ... ok
test run_execution_spec::nesting-level3.md ... ok
test run_execution_spec::nullable-arg-query.md ... ok
test run_execution_spec::omit-index-list.md ... ok
test run_execution_spec::recursive-types-json.md ... ok
test run_execution_spec::recursive-types-no-resolver.md ... ok
test run_execution_spec::omit-resolved-by-parent.md ... FAILED
test run_execution_spec::omit-many.md ... ok
test run_execution_spec::recursive-types.md ... ok
test run_execution_spec::ref-other-nested.md ... ok
test run_execution_spec::ref-other.md ... ok
test run_execution_spec::request-to-upstream-batching.md ... ok
test run_execution_spec::rename-field.md ... ok
test run_execution_spec::resolve-with-headers.md ... ok
test run_execution_spec::resolve-with-vars.md ... ok
test run_execution_spec::rest-api-error.md ... ok
test run_execution_spec::resolved-by-parent.md ... FAILED
test run_execution_spec::rest-api-post.md ... ok
test run_execution_spec::rest-api.md ... ok
test run_execution_spec::showcase.md ... ok
test run_execution_spec::test-add-field-error.md ... ok
test run_execution_spec::simple-graphql.md ... ok
test run_execution_spec::simple-query.md ... ok
test run_execution_spec::test-add-field-list.md ... ok
test run_execution_spec::test-all-blueprint-errors.md ... ok
test run_execution_spec::test-batch-operator-post.md ... ok
test run_execution_spec::test-add-field.md ... ok
test run_execution_spec::test-add-link-to-empty-config.md ... ok
test run_execution_spec::test-call-operator-errors.md ... ok
test run_execution_spec::test-conflict-allowed-headers.md ... ok
test run_execution_spec::test-conflict-vars.md ... ok
test run_execution_spec::test-batching-group-by.md ... ok
test run_execution_spec::test-cache.md ... ok
test run_execution_spec::test-dbl-usage-many.md ... ok
test run_execution_spec::test-custom-scalar.md ... ok
test run_execution_spec::test-directives-undef-null-fields.md ... ok
test run_execution_spec::test-duplicated-link.md ... ok
test run_execution_spec::test-empty-link.md ... ok
test run_execution_spec::test-custom-types.md ... ok
test run_execution_spec::test-enable-jit.md ... ok
test run_execution_spec::test-description-many.md ... ok
test run_execution_spec::test-enum-default.md ... ok
test run_execution_spec::test-enum-empty.md ... ok
test run_execution_spec::test-enum-aliases.md ... ok
test run_execution_spec::test-enum-merge.md ... ok
test run_execution_spec::test-expr-error.md ... ok
test run_execution_spec::test-expr-scalar-as-string.md ... ok
test run_execution_spec::test-expr-with-add-field.md ... ok
test run_execution_spec::test-expr-with-inline.md ... ok
test run_execution_spec::test-enum-description.md ... FAILED
test run_execution_spec::test-enum.md ... FAILED
test run_execution_spec::test-field-already-implemented-from-Interface.md ... ok
test run_execution_spec::test-graphqlsource-no-base-url.md ... ok
test run_execution_spec::test-expr-with-mustache.md ... ok
test run_execution_spec::test-groupby-without-batching.md ... ok
test run_execution_spec::test-grpc-group-by.md ... ok
test run_execution_spec::test-grpc-invalid-method-format.md ... ok
test run_execution_spec::test-grpc-invalid-proto-id.md ... ok
test run_execution_spec::test-grpc-missing-fields.md ... ok
test run_execution_spec::test-grpc-nested-data.md ... ok
test run_execution_spec::test-grpc-nested-optional.md ... ok
test run_execution_spec::test-grpc-optional.md ... ok
test run_execution_spec::test-grpc-proto-path.md ... ok
test run_execution_spec::test-grpc-service-method.md ... ok
test run_execution_spec::test-grpc-service.md ... ok
test run_execution_spec::test-expr.md ... ok
test run_execution_spec::test-hostname-faliure.md ... ok
test run_execution_spec::test-graphqlsource.md ... ok
test run_execution_spec::test-grpc.md ... ok
test run_execution_spec::test-http-baseurl.md ... ok
test run_execution_spec::test-http-batchKey.md ... FAILED
test run_execution_spec::test-http-with-add-field.md ... ok
test run_execution_spec::test-http-with-inline.md ... ok
test run_execution_spec::test-http-headers.md ... ok
test run_execution_spec::test-http-with-mustache-expr.md ... ok
test run_execution_spec::test-inline-error.md ... ok
test run_execution_spec::test-http-tmpl.md ... ok
test run_execution_spec::test-http.md ... ok
test run_execution_spec::test-inline-list.md ... ok
test run_execution_spec::test-inline.md ... ok
test run_execution_spec::test-input-out.md ... ok
test run_execution_spec::test-input-documentation.md ... ok
test run_execution_spec::test-input-with-arg-out.md ... ok
test run_execution_spec::test-interface-from-json.md ... ok
test run_execution_spec::test-invalid-query-in-http.md ... ok
test run_execution_spec::test-invalid-server.md ... ok
test run_execution_spec::test-js-multi-onRequest-handlers.md ... ok
test run_execution_spec::test-js-multiple-scripts.md ... ok
test run_execution_spec::test-interface-result.md ... ok
test run_execution_spec::test-interface.md ... ok
test run_execution_spec::test-lack-resolver.md ... ok
test run_execution_spec::test-js-request-response-2.md ... ok
test run_execution_spec::test-merge-batch.md ... ok
test run_execution_spec::test-js-request-response.md ... ok
test run_execution_spec::test-list-args.md ... ok
test run_execution_spec::test-merge-query.md ... ok
test run_execution_spec::test-merge-nested.md ... ok
test run_execution_spec::test-merge-union.md ... ok
test run_execution_spec::test-missing-argument-on-all-resolvers.md ... ok
test run_execution_spec::test-missing-mutation-resolver.md ... ok
test run_execution_spec::test-missing-query-resolver.md ... ok
test run_execution_spec::test-missing-root-types.md ... ok
test run_execution_spec::test-missing-schema-query.md ... ok
test run_execution_spec::test-merge-right-with-link-config.md ... ok
test run_execution_spec::test-merge-server-sdl.md ... ok
test run_execution_spec::test-multiple-config-types.md ... ok
test run_execution_spec::test-multiple-resolvable-directives-on-field.md ... ok
test run_execution_spec::test-modify.md ... ok
test run_execution_spec::test-multi-interface.md ... ok
test run_execution_spec::test-nested-input.md ... ok
test run_execution_spec::test-no-base-url.md ... ok
test run_execution_spec::test-nested-value.md ... ok
test run_execution_spec::test-nested-link.md ... ok
test run_execution_spec::test-null-in-array.md ... ok
test run_execution_spec::test-null-in-object.md ... ok
test run_execution_spec::test-omit-list.md ... ok
test run_execution_spec::test-params-as-body.md ... ok
test run_execution_spec::test-omit.md ... ok
test run_execution_spec::test-query-documentation.md ... ok
test run_execution_spec::test-query.md ... ok
test run_execution_spec::test-response-header-value.md ... ok
test run_execution_spec::test-response-headers-multi.md ... ok
test run_execution_spec::test-response-headers-name.md ... ok
test run_execution_spec::test-response-header-merge.md ... ok
test run_execution_spec::test-ref-other.md ... ok
test run_execution_spec::test-scalars-builtin.md ... ok
test run_execution_spec::test-scalars-validation.md ... ok
test run_execution_spec::test-scalars-integers.md ... ok
test run_execution_spec::test-server-base-types.md ... ok
test run_execution_spec::test-set-cookie-headers.md ... ok
test run_execution_spec::test-server-vars.md ... ok
test run_execution_spec::test-static-value.md ... ok
test run_execution_spec::test-undefined-query.md ... ok
test run_execution_spec::test-scalars.md ... ok
test run_execution_spec::test-union-many-types.md ... ok
test run_execution_spec::test-union-same-types.md ... ok
test run_execution_spec::test-union-ambiguous.md ... FAILED
test run_execution_spec::test-tag.md ... ok
test run_execution_spec::test-upstream-headers.md ... ok
test run_execution_spec::undeclared-type-no-base-url.md ... ok
test run_execution_spec::undeclared-type.md ... ok
test run_execution_spec::upstream-batching.md ... ok
test run_execution_spec::test-union.md ... FAILED
test run_execution_spec::test-upstream.md ... ok
test run_execution_spec::upstream-fail-request.md ... ok
test run_execution_spec::with-args-url.md ... ok
test run_execution_spec::with-args.md ... ok
test run_execution_spec::yaml-nested-unions.md ... ok
test run_execution_spec::yaml-union-in-type.md ... ok
test run_execution_spec::with-nesting.md ... ok
test run_execution_spec::yaml-union.md ... ok

failures:

---- run_execution_spec::async-cache-enable-multiple-resolvers.md ----
test panicked: snapshot assertion for 'async-cache-enable-multiple-resolvers.md_0' failed in line 202

---- run_execution_spec::graphql-datasource-errors.md ----
test panicked: not yet implemented

---- run_execution_spec::graphql-datasource-with-mandatory-enum.md ----
test panicked: snapshot assertion for 'graphql-datasource-with-mandatory-enum.md_0' failed in line 202

---- run_execution_spec::grpc-oneof.md ----
test panicked: snapshot assertion for 'grpc-oneof.md_0' failed in line 202

---- run_execution_spec::inline-field.md ----
test panicked: snapshot assertion for 'inline-field.md_0' failed in line 202

---- run_execution_spec::js-directive.md ----
test panicked: snapshot assertion for 'js-directive.md_0' failed in line 202

---- run_execution_spec::omit-resolved-by-parent.md ----
test panicked: snapshot assertion for 'omit-resolved-by-parent.md_0' failed in line 202

---- run_execution_spec::resolved-by-parent.md ----
test panicked: snapshot assertion for 'resolved-by-parent.md_0' failed in line 202

---- run_execution_spec::test-enum-description.md ----
test panicked: snapshot assertion for 'test-enum-description.md_2' failed in line 202

---- run_execution_spec::test-enum.md ----
test panicked: snapshot assertion for 'test-enum.md_2' failed in line 202

---- run_execution_spec::test-http-batchKey.md ----
test panicked: snapshot assertion for 'test-http-batchKey.md_0' failed in line 202

---- run_execution_spec::test-union-ambiguous.md ----
test panicked: snapshot assertion for 'test-union-ambiguous.md_3' failed in line 202

---- run_execution_spec::test-union.md ----
test panicked: snapshot assertion for 'test-union.md_3' failed in line 202

failures:
run_execution_spec::async-cache-enable-multiple-resolvers.md
run_execution_spec::graphql-datasource-errors.md
run_execution_spec::graphql-datasource-with-mandatory-enum.md
run_execution_spec::grpc-oneof.md
run_execution_spec::inline-field.md
run_execution_spec::js-directive.md
run_execution_spec::omit-resolved-by-parent.md
run_execution_spec::resolved-by-parent.md
run_execution_spec::test-enum-description.md
run_execution_spec::test-enum.md
run_execution_spec::test-http-batchKey.md
run_execution_spec::test-union-ambiguous.md
run_execution_spec::test-union.md

test result: FAILED. 218 passed; 13 failed; 0 ignored; 0 measured; 0 filtered out; finished in 14.99s

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Running 30s test @ http://localhost:8000/graphql

4 threads and 100 connections

Thread Stats Avg Stdev Max +/- Stdev
Latency 7.35ms 3.31ms 86.48ms 71.84%
Req/Sec 3.44k 127.52 3.97k 82.50%

410731 requests in 30.00s, 2.06GB read

Requests/sec: 13689.31

Transfer/sec: 70.26MB

Please sign in to comment.