Gateway | Compatibility | Test Cases | Test Suites |
---|---|---|---|
Hive Gateway | 100.00% | 🟢 170 | 🟢 40 |
Apollo Router | 97.65% | 🟢 166 ❌ 4 | 🟢 38 ❌ 2 |
Apollo Gateway | 97.06% | 🟢 165 ❌ 5 | 🟢 37 ❌ 3 |
Cosmo Router | 74.12% | 🟢 126 ❌ 44 | 🟢 21 ❌ 19 |
Grafbase Gateway | 50.59% | 🟢 86 ❌ 84 | 🟢 16 ❌ 24 |
Take a closer look at the results for each gateway.
You can look at the full list of tests here. Every test id corresponds to a directory in the src/test-suites
folder.
Results
abstract-types🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢child-type-mismatch
🟢🟢🟢🟢circular-reference-interface
🟢🟢complex-entity-call
🟢corrupted-supergraph-node-id
🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢enum-intersection
🟢🟢🟢🟢🟢fed1-external-extends
🟢🟢fed1-external-extends-resolvable
🟢fed1-external-extension
🟢🟢fed2-external-extends
🟢🟢fed2-external-extension
🟢🟢include-skip
🟢🟢🟢🟢input-object-intersection
🟢🟢🟢interface-object-with-requires
🟢🟢🟢🟢🟢🟢🟢keys-mashup
🟢mutations
🟢🟢🟢mysterious-external
🟢🟢nested-provides
🟢🟢node
🟢non-resolvable-interface-object
🟢🟢🟢🟢🟢🟢🟢override-type-interface
🟢🟢🟢🟢override-with-requires
🟢🟢🟢🟢parent-entity-call
🟢parent-entity-call-complex
🟢provides-on-interface
🟢🟢provides-on-union
🟢🟢requires-interface
🟢🟢🟢🟢🟢requires-requires
🟢🟢🟢🟢🟢requires-with-argument
🟢🟢🟢🟢🟢requires-with-fragments
🟢🟢🟢🟢🟢🟢shared-root
🟢🟢simple-entity-call
🟢simple-inaccessible
🟢🟢🟢🟢simple-interface-object
🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢simple-override
🟢🟢simple-requires-provides
🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢typename
🟢🟢🟢🟢🟢🟢unavailable-override
🟢🟢union-interface-distributed
🟢🟢🟢🟢🟢🟢🟢union-intersection
🟢🟢🟢🟢🟢🟢🟢🟢
Results
abstract-types🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢child-type-mismatch
🟢🟢🟢🟢circular-reference-interface
🟢🟢complex-entity-call
🟢corrupted-supergraph-node-id
🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢enum-intersection
🟢🟢🟢🟢🟢fed1-external-extends
🟢🟢fed1-external-extends-resolvable
🟢fed1-external-extension
🟢🟢fed2-external-extends
🟢🟢fed2-external-extension
🟢🟢include-skip
🟢🟢🟢🟢input-object-intersection
🟢🟢🟢interface-object-with-requires
🟢🟢🟢🟢🟢🟢🟢keys-mashup
❌mutations
🟢🟢🟢mysterious-external
🟢🟢nested-provides
🟢🟢node
🟢non-resolvable-interface-object
🟢🟢🟢🟢🟢🟢🟢override-type-interface
🟢🟢🟢🟢override-with-requires
🟢🟢🟢🟢parent-entity-call
🟢parent-entity-call-complex
🟢provides-on-interface
🟢🟢provides-on-union
🟢🟢requires-interface
🟢🟢🟢🟢🟢requires-requires
🟢🟢🟢🟢🟢requires-with-argument
🟢🟢❌❌❌requires-with-fragments
🟢🟢🟢🟢🟢🟢shared-root
🟢🟢simple-entity-call
🟢simple-inaccessible
🟢🟢🟢🟢simple-interface-object
🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢simple-override
🟢🟢simple-requires-provides
🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢typename
🟢🟢🟢🟢🟢🟢unavailable-override
🟢🟢union-interface-distributed
🟢🟢🟢🟢🟢🟢🟢union-intersection
🟢🟢🟢🟢🟢🟢🟢🟢
Results
abstract-types🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢child-type-mismatch
🟢🟢🟢🟢circular-reference-interface
🟢🟢complex-entity-call
🟢corrupted-supergraph-node-id
🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢enum-intersection
🟢🟢🟢🟢🟢fed1-external-extends
🟢🟢fed1-external-extends-resolvable
🟢fed1-external-extension
🟢🟢fed2-external-extends
🟢🟢fed2-external-extension
🟢🟢include-skip
🟢🟢🟢🟢input-object-intersection
🟢🟢🟢interface-object-with-requires
🟢🟢🟢🟢🟢🟢🟢keys-mashup
❌mutations
🟢🟢🟢mysterious-external
🟢🟢nested-provides
🟢🟢node
🟢non-resolvable-interface-object
🟢❌🟢🟢🟢🟢🟢override-type-interface
🟢🟢🟢🟢override-with-requires
🟢🟢🟢🟢parent-entity-call
🟢parent-entity-call-complex
🟢provides-on-interface
🟢🟢provides-on-union
🟢🟢requires-interface
🟢🟢🟢🟢🟢requires-requires
🟢🟢🟢🟢🟢requires-with-argument
🟢🟢❌❌❌requires-with-fragments
🟢🟢🟢🟢🟢🟢shared-root
🟢🟢simple-entity-call
🟢simple-inaccessible
🟢🟢🟢🟢simple-interface-object
🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢simple-override
🟢🟢simple-requires-provides
🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢typename
🟢🟢🟢🟢🟢🟢unavailable-override
🟢🟢union-interface-distributed
🟢🟢🟢🟢🟢🟢🟢union-intersection
🟢🟢🟢🟢🟢🟢🟢🟢
Results
abstract-types🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢child-type-mismatch
❌❌❌🟢circular-reference-interface
🟢🟢complex-entity-call
❌corrupted-supergraph-node-id
❌🟢🟢🟢🟢❌🟢🟢🟢🟢enum-intersection
🟢🟢❌🟢🟢fed1-external-extends
🟢🟢fed1-external-extends-resolvable
❌fed1-external-extension
🟢🟢fed2-external-extends
🟢🟢fed2-external-extension
🟢🟢include-skip
🟢🟢🟢🟢input-object-intersection
🟢🟢🟢interface-object-with-requires
❌❌🟢🟢❌❌❌keys-mashup
🟢mutations
🟢🟢❌mysterious-external
🟢🟢nested-provides
🟢🟢node
🟢non-resolvable-interface-object
🟢🟢🟢🟢🟢🟢🟢override-type-interface
🟢❌🟢🟢override-with-requires
🟢🟢🟢🟢parent-entity-call
🟢parent-entity-call-complex
❌provides-on-interface
❌❌provides-on-union
❌❌requires-interface
🟢🟢❌🟢🟢requires-requires
🟢🟢🟢🟢🟢requires-with-argument
❌❌❌❌❌requires-with-fragments
❌❌❌❌❌❌shared-root
🟢❌simple-entity-call
🟢simple-inaccessible
🟢🟢🟢❌simple-interface-object
🟢🟢🟢🟢🟢🟢🟢🟢❌🟢🟢🟢🟢simple-override
🟢🟢simple-requires-provides
🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢typename
🟢🟢🟢🟢🟢🟢unavailable-override
🟢🟢union-interface-distributed
❌🟢🟢🟢🟢🟢🟢union-intersection
❌❌❌❌❌❌❌❌
Results
abstract-types🟢🟢❌🟢🟢❌❌❌❌❌❌❌❌❌❌❌❌child-type-mismatch
❌❌❌🟢circular-reference-interface
🟢🟢complex-entity-call
❌corrupted-supergraph-node-id
❌🟢❌🟢🟢❌🟢🟢🟢🟢enum-intersection
🟢🟢🟢🟢🟢fed1-external-extends
🟢🟢fed1-external-extends-resolvable
❌fed1-external-extension
🟢🟢fed2-external-extends
🟢🟢fed2-external-extension
🟢🟢include-skip
❌❌❌❌input-object-intersection
🟢🟢🟢interface-object-with-requires
🟢🟢❌🟢❌❌❌keys-mashup
❌mutations
🟢🟢🟢mysterious-external
🟢🟢nested-provides
🟢🟢node
🟢non-resolvable-interface-object
❌🟢❌🟢🟢🟢❌override-type-interface
❌❌🟢🟢override-with-requires
🟢❌❌❌parent-entity-call
❌parent-entity-call-complex
❌provides-on-interface
❌❌provides-on-union
❌❌requires-interface
❌❌❌❌❌requires-requires
❌❌❌❌❌requires-with-argument
🟢❌❌❌❌requires-with-fragments
❌❌❌❌❌❌shared-root
❌❌simple-entity-call
🟢simple-inaccessible
🟢🟢🟢🟢simple-interface-object
🟢🟢❌🟢❌❌❌🟢❌❌❌❌❌simple-override
🟢🟢simple-requires-provides
🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢❌❌typename
🟢🟢🟢🟢🟢🟢unavailable-override
🟢🟢union-interface-distributed
❌❌🟢🟢🟢🟢🟢union-intersection
❌🟢❌❌🟢🟢❌❌