Add graphql-java-arbitrary property generators - #4421
Open
andimarek wants to merge 6 commits into
Open
Conversation
andimarek
force-pushed
the
codex/kotest-schema-property-testing
branch
from
July 31, 2026 23:36
2f2b616 to
cb80946
Compare
Contributor
Test ReportTest Results
Code Coverage (Java 25)
|
andimarek
force-pushed
the
codex/kotest-schema-property-testing
branch
from
August 3, 2026 23:07
cb80946 to
05bd88b
Compare
andimarek
force-pushed
the
codex/kotest-schema-property-testing
branch
from
August 3, 2026 23:56
05bd88b to
f643a61
Compare
Port Airbnb Viaduct's arbitrary GraphQL schema support to graphql-java native schema and AST types. Cover generated schema validity, SDL round trips, defaults, input cycles, oneOf inputs, coercion, and applied directives with Kotest properties.
andimarek
force-pushed
the
codex/kotest-schema-property-testing
branch
from
August 4, 2026 23:15
f643a61 to
8e57399
Compare
…-refactor Refine arbitrary GraphQL generators
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
graphql-java-arbitraryGradle subproject, published ascom.graphql-java:graphql-java-arbitrarywith the same version and release lifecycle asgraphql-javaArbgenerators in thegraphql.arbitrarypackage for native graphql-java schemas, types, names, executable documents, execution inputs, output values, code registries, runtime wiring, and executableGraphQLinstancessrc/main/kotlin, with the generator test suites insrc/test/kotlinArbPropertyBaseandDeepArbSuite) as Gradle test fixturesgraphql-javaartifact remains Java-onlyUsage
testImplementation("com.graphql-java:graphql-java-arbitrary:<graphql-java-version>")Consumers that want the reusable test bases can also add:
testImplementation(testFixtures("com.graphql-java:graphql-java-arbitrary:<graphql-java-version>"))The module README includes configuration guidance and a JUnit/Kotest Property example.
Testing
The existing Gradle/CI matrix covers the new subproject on Java 11, 17, 21, and 25, together with
assemble,check, and Javadoc generation. The module's suites include schema and SDL round trips, type relationships and cycles, generated executable documents and execution inputs, input/output values, runtime wiring, configuration, and generator utility behavior.Provenance
The implementation is adapted from Airbnb Viaduct's
core/shared/arbitrarymodule, originally created by James Bellenger. The module README links both the Airbnb Viaduct repository and the pinned source revision, and the Apache License 2.0 text is included in the published artifacts.