smallrye / smallrye-graphql

Implementation for MicroProfile GraphQL
Apache License 2.0
160 stars 91 forks source link

TCK failure with 2.9.0 #2148

Closed jmartisk closed 1 month ago

jmartisk commented 4 months ago

Seems 2.9.0 introduced is some issue with applying NumberFormat on items in (nested) lists.

The TCK test trackHeroLongLat is failing: https://github.com/eclipse/microprofile-graphql/blob/2.0/tck/src/main/java/org/eclipse/microprofile/graphql/tck/apps/superhero/api/HeroFinder.java#L419 When this mutation is called with coordinates:[["-25.926804 longlat", "28.203392 longlat"],["-26.926804 longlat", "27.203392 longlat"],["-27.926804 longlat", "26.203392 longlat"]], it throws a validation error.

The same applies here: https://github.com/eclipse/microprofile-graphql/blob/2.0/tck/src/main/java/org/eclipse/microprofile/graphql/tck/apps/superhero/api/HeroFinder.java#L512C1-L512C111 when called with dates:["01/14/2020","02/15/2021"]

Weirdly, the TCKs only on the Quarkus side, not in SmallRye (this fact is probably worth investigating too). I added temporary overrides to have the test pass: see https://github.com/quarkusio/quarkus/blob/24326d05c1cb65cbee4a0a26080e9463c716d30c/tcks/microprofile-graphql/src/main/resources/overrides/importantDatesUS/output.json and https://github.com/quarkusio/quarkus/blob/24326d05c1cb65cbee4a0a26080e9463c716d30c/tcks/microprofile-graphql/src/main/resources/overrides/trackLongLat/output.json

To reproduce with Quarkus, remove the temporarily added tcks/microprofile-graphql/src/main/resources/overrides/trackLongLat/output.json and tcks/microprofile-graphql/src/main/resources/overrides/importantDatesUS/output.json files in the Quarkus repo and run the tests in the tcks/microprofile-graphql module.

mskacelik commented 3 months ago

https://github.com/eclipse/microprofile-graphql/blob/93c98a656cdb176427e1c767bf1bd085b706791c/tck/src/main/java/org/eclipse/microprofile/graphql/tck/apps/superhero/api/HeroFinder.java#L418 It seems that this annotation has not been ignored. If I replace the longlat with latlong it works.

Also, if I try it with version 3.12.3, it works as intended, but if I try it locally, 999-SNAPSHOT, it does not.

mskacelik commented 3 months ago

it seems to be due to fa02098cabe9db9be480d16425e0336e7532680c.