Gateway | Compatibility | Test Cases | Test Suites |
---|---|---|---|
Hive Gateway | 100.00% | 🟢 179 | 🟢 41 |
Apollo Router | 97.77% | 🟢 175 ❌ 4 | 🟢 39 ❌ 2 |
Apollo Gateway | 97.21% | 🟢 174 ❌ 5 | 🟢 38 ❌ 3 |
Grafbase Gateway | 93.85% | 🟢 168 ❌ 11 | 🟢 37 ❌ 4 |
Cosmo Router | 87.71% | 🟢 157 ❌ 22 | 🟢 31 ❌ 10 |
Inigo Gateway | 49.72% | 🟢 89 ❌ 90 | 🟢 12 ❌ 29 |
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
🟢🟢🟢🟢🟢🟢🟢null-keys
🟢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
🟢🟢🟢🟢🟢🟢🟢null-keys
🟢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
🟢❌🟢🟢🟢🟢🟢null-keys
🟢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
🟢🟢🟢🟢🟢🟢🟢null-keys
🟢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
🟢🟢🟢🟢🟢🟢🟢null-keys
❌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
🟢🟢🟢🟢🟢❌❌null-keys
❌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
❌❌❌❌❌❌❌❌