Commit Graph

219 Commits

Author SHA1 Message Date
Vladimir Razuvaev
bc4b990946 Do not run query complexity validation if there were other validation errors (as it will throw and mess up previous validation results), see #125 2017-06-03 17:07:01 +07:00
Jeremiah VALERIE
6d5b4e5a37 Use dedicated exception for scalar type parsing error 2017-05-29 10:32:48 +02:00
leocavalcante
8a5f337469 Extract anonymous class 2017-05-07 19:42:59 -03:00
leocavalcante
e07c86bd5e Default resolve callables 2017-05-07 19:21:20 -03:00
Pascal de Vink
11a1b13b72
Use directives to calculate query complexity 2017-04-24 14:21:58 +02:00
Decebal Dobrica
ca92ae4688 pass failing test 2017-03-16 15:41:29 +00:00
Decebal Dobrica
0bedebe392 fragment type caps 2017-03-16 15:09:09 +00:00
Decebal Dobrica
c51dda097a fix tests typo 2017-03-16 15:00:01 +00:00
Decebal Dobrica
b9550d3ecb replies aliased 2017-03-16 14:44:21 +00:00
Decebal Dobrica
7bed5ef4a8 add replies fragments 2017-03-16 14:43:47 +00:00
Vladimir Razuvaev
f77bd17eba ResolveInfo: Take in account inline fragments in getFieldSelection() 2017-03-10 19:21:27 +07:00
Vladimir Razuvaev
ce9bf33f20 Ability to load types in schema on demand (#69) 2017-03-05 03:26:22 +07:00
Vladimir Razuvaev
3f909e3e11 Separate utility for extractTypes 2017-02-24 16:29:28 +07:00
Vladimir Razuvaev
416733b4db Separate utility for extractTypes 2017-02-24 16:22:33 +07:00
Bernhard Schussek
e35b57601d Fixed SyncPromiseAdapter::all() to not change the order of arrays 2017-02-23 11:45:13 +01:00
petecoop
fc629a292d BuildSchema and SchemaPrinter 2017-02-19 19:26:56 +00:00
Adam Dumas
97674cbbb9 Fixed Utils::assign() bug relating to detecting missing required keys 2017-02-13 12:50:34 -05:00
jane-olszewska
008fd20498 Added test for adding a schema element description in comments 2017-02-06 19:11:12 +00:00
jane-olszewska
dd31ab2b80 Added a description field to schema type definition classes 2017-02-06 18:33:18 +00:00
vladar
b4e6630c1d PHPUnit: Replaced deprecated method getMock() with getMockBuilder() 2017-01-26 18:48:23 +07:00
vladar
e2875953e1 Tests for new GraphQL\Server facade 2017-01-19 19:23:00 +07:00
vladar
ceaf798b07 Merge branch 'master' of https://github.com/webonyx/graphql-php 2016-12-23 22:42:05 +07:00
Juuso Leinonen
8626e0b45d Make tests run on php 5.4 2016-12-22 15:35:38 +02:00
Juuso Leinonen
90c4b5d9fa Changed ReactPromiseAdapter::all to preserve the array key order and added tests 2016-12-22 15:08:28 +02:00
vladar
296cc7530d Added Server class as a new facade for library, including HTTP endpoint compatible with express-graphql format 2016-12-19 20:40:46 +07:00
vladar
ff3a40d329 Execution: modified deferred behavior to be more predictable (+added more tests for them) 2016-12-17 05:14:51 +07:00
vladar
2043cc7e75 Introduced type resolution strategies: eager and lazy (for #69) 2016-12-14 17:12:09 +07:00
vladar
ae57a72461 Deleted unused SchemaValidator 2016-12-08 06:05:40 +07:00
vladar
90e29ac704 Fixing tests for HHVM 2016-12-08 04:50:33 +07:00
vladar
51d816d280 Tests for Config 2016-12-08 04:16:13 +07:00
vladar
c5bba0e7d4 Cleaning up old unused messages 2016-12-06 03:45:52 +07:00
vladar
a165c3aaab Shortened method names of PromiseAdapter 2016-12-04 15:53:23 +07:00
vladar
26db4c76c6 Fixed tests for PHP7+ 2016-12-03 04:31:01 +07:00
vladar
fd335a1d13 Execution: tests are green 2016-12-03 04:23:21 +07:00
vladar
7ab75cd05a Execution: tests are green 2016-12-03 04:11:14 +07:00
vladar
ab4ae779af Execution: fixed rejection issue in sync promise 2016-12-03 02:48:51 +07:00
vladar
e97ca7f971 Execution: added SyncPromiseAdapter and made it default for Executor (+removed GenericPromiseAdapter) 2016-12-03 02:14:14 +07:00
vladar
3a375bb78e Simple implementation of Promises A+ for our sync case (using queue) 2016-12-02 18:43:54 +07:00
Jeremiah VALERIE
76c31df1af Add Executor Promise tests 2016-11-26 23:51:42 +01:00
Jeremiah VALERIE
35d7d83088 Add Lists Promise tests 2016-11-26 22:28:46 +01:00
Jeremiah VALERIE
7f1e9d051b Add Mutation Promise tests 2016-11-26 20:50:01 +01:00
Jeremiah VALERIE
2ad79adf0c Add NonNull Promise tests 2016-11-26 20:50:01 +01:00
vladar
63d44fe002 Disabled deprecation notice for ResolveInfo->fieldASTs (until next version) 2016-11-19 17:37:54 +07:00
vladar
660200ed50 GraphQL\Language\AST\NodeType -> GraphQL\Language\AST\NodeKind 2016-11-19 17:31:47 +07:00
vladar
04550f805f Differentiate between input values with no default and with default = null 2016-11-19 17:21:22 +07:00
vladar
5a17ae8246 Clearer lexer errors 2016-11-19 17:08:20 +07:00
vladar
0ab55ec0d9 Replaced "AST" with "Node" in variable names for better readability 2016-11-19 06:47:55 +07:00
vladar
8d696edee5 Renamed AST nodes to *Node to disambiguate types 2016-11-19 06:12:18 +07:00
vladar
439959b292 Enforce input coercion rules 2016-11-19 04:15:40 +07:00
vladar
f672f0c90c Added validation rule for unique directives per location 2016-11-19 00:21:56 +07:00
vladar
8a676cde99 Support for NullValue 2016-11-18 23:59:28 +07:00
vladar
9bf8e82d7c Minor fix to StarWarsSchema type language in comments 2016-11-18 20:32:09 +07:00
vladar
5d889ccacd Reverted several breaking changes from #75; tests are green 2016-11-16 18:37:35 +07:00
Andreas Heiberg
d8ca5f4183 move to NodeType enum 2016-11-16 18:07:56 +07:00
Andreas Heiberg
46788f2ddb move NodeTypes enum to seperate class 2016-11-16 18:02:58 +07:00
Andreas Heiberg
3c98963f72 remove static functions from Printer 2016-11-16 17:22:57 +07:00
vladar
3b0e52f254 Updated AST Utils to match the behavior of reference implementation 2016-11-02 00:11:33 +07:00
vladar
e56eb6e10d Replaced \UnexpectedValueException with GraphQL\Error\InvariantViolationException; Improved some instanceof checks 2016-11-01 23:40:37 +07:00
vladar
e4fa881cc3 Infer type name from class name for those using inheritance 2016-10-23 21:32:54 +07:00
vladar
c11f25794a Deprecated callbacks in "type" option of field/argument definitions (see #35) 2016-10-23 00:49:25 +07:00
vladar
9964c88f32 Updated StarWars tests 2016-10-23 00:46:15 +07:00
vladar
f443c6b1ba Fixed broken test 2016-10-22 17:29:18 +07:00
vladar
276a58f6d1 Reverted one minor breaking change 2016-10-22 17:19:40 +07:00
vladar
a612b780c9 Return stdClass vs empty array for empty ObjectType values (see #59) 2016-10-22 17:16:47 +07:00
vladar
2675b65095 Moved all error-related classes to separate namespace; fixed related broken tests 2016-10-21 16:40:56 +07:00
vladar
6d7a4a4f34 Fixed tests broken by recent changes to serialized error format 2016-10-21 15:28:24 +07:00
vladar
3ba187ec04 Added missing one-line shorthand for field arguments 2016-10-21 00:06:34 +07:00
vladar
5148c3bf03 Allow one-liner shorthand for field definitions (#47) 2016-10-20 19:09:48 +07:00
vladar
09cc313072 Allow to define enum values by simply passing array of strings, e.g. 'values' => ['ONE', 'TWO', 'THREE'] 2016-10-20 19:01:30 +07:00
vladar
0a79be8409 Updated introspection query and related tests for recent changes 2016-10-19 01:35:18 +07:00
vladar
236021acf8 Added deprecated directive; changed custom directives handling in schema; various minor tweaks 2016-10-19 01:34:46 +07:00
vladar
7625d6abf1 Scalar serialization now throws on spec-incompatible values vs returning null 2016-10-19 01:23:38 +07:00
vladar
0a182ac53c Improved enums (now they can handle complex values) 2016-10-19 01:21:47 +07:00
vladar
7f22d4b874 Spec compliance improvement: data key should not exist in response when it is null / missing (#56) 2016-10-18 22:25:39 +07:00
vladar
3e2d9459aa resolveType for interface/unions is now allowed to return type name vs instance 2016-10-18 22:23:20 +07:00
vladar
89eb6dede9 Breaking change when returning Closure from resolver: this closure is expected to have different signature now (shouldn't affect most of the users) 2016-10-18 22:20:51 +07:00
vladar
a94640f9d2 Enabled GraphQL\Error to include path to failed value during execution step (not location in source query, but exact path to value, including index in array, etc) + tests for errors 2016-10-18 22:15:21 +07:00
vladar
c0f7ec099d Several executor tests 2016-10-18 20:30:15 +07:00
vladar
cd14146032 Updated parser to consume latest lexer; New public parser API methods: parseType and parseValue; added directives to schema parser/printer 2016-10-17 02:57:24 +07:00
vladar
3eeb4d450b Reworked lexer: tokens are now represented as double linked list 2016-10-17 02:53:50 +07:00
vladar
f9e97ea296 Fixed several broken tests 2016-09-14 19:36:10 +07:00
vladar
2c50c51432 Fixed issue in lazy interface test where query type definition incorrectly initialized type that was supposed to be tested for laziness 2016-09-14 18:47:34 +07:00
vladar
1f71ffc3fc Added test to catch regressions in lazy interface declarations (see #38) 2016-09-14 18:47:34 +07:00
vladar
26db43e7c4 Enabled subscriptions in executor 2016-09-14 18:47:34 +07:00
vladar
c3d7a49a08 Updated executor and it's tests for april2016 specs 2016-09-14 18:47:34 +07:00
vladar
00f12b3197 Fixed definition tests; added enum tests 2016-09-14 18:41:02 +07:00
vladar
183a9d72cf Introspection for april 2016 spec + fixed tests 2016-09-14 18:41:02 +07:00
vladar
e7c7924dc0 New AST utils + test 2016-09-14 18:41:02 +07:00
vladar
e82f887918 Fixed visitor; more visitor tests 2016-09-14 18:41:02 +07:00
vladar
3dec7a9995 Test complete validation 2016-09-14 18:41:02 +07:00
vladar
800d8ba25f Continue updating validator rules for april2016 spec 2016-09-14 18:41:02 +07:00
vladar
f1ddc98390 Updating validator rules for april2016 spec 2016-09-14 18:41:02 +07:00
vladar
17081cec1c More AST visitor tests 2016-09-14 18:41:02 +07:00
vladar
687b023616 Schema language parsing / printing 2016-09-14 18:41:02 +07:00
vladar
4f4776726d Updated parser to 2016 spec version; schema language parsing 2016-09-14 18:41:02 +07:00
vladar
c053169671 Updated Lexer and LexerTest to april 2016 spec 2016-09-14 18:41:02 +07:00
Matthew Leverton
7c6f216578 Change Lexer::readString to decode escaped characters to their literal values 2016-07-14 13:32:57 -05:00
Jeremiah VALERIE
3ae6c73367 Removed memoization on executor resolveField (see #43) 2016-06-10 11:57:43 +02:00
Jeremiah VALERIE
be46b14441 Fix ResolveInfo::getFieldSelection() when using multiple fragments on the same field. 2016-05-18 16:20:53 +02:00
Jérémiah VALERIE
327cc52601 Add ExecutionResult $extensions
https://facebook.github.io/graphql/#sec-Response-Format
2016-04-25 14:44:08 +02:00
vladar
4d024ee85e Test for lazy interface initialization + minor related tweak 2016-04-20 18:04:11 +06:00
Jeremiah VALERIE
545fe616a0 Add Complexity and Depth Query Security 2016-04-09 15:31:07 +02:00
Jeremiah VALERIE
1bc5e0c9da Use PSR-4 Autoloader for tests 2016-04-09 14:14:40 +02:00
vladar
68d8681983 #30 Fixed recursion bug in ResolveInfo::getFieldSelection() 2016-04-01 16:30:52 +06:00
vladar
201fb7754f Additional test case for input type fields definition as closure 2016-02-27 12:30:45 +06:00
vladar
d37fb34e96 Ability to define interface fields with closure 2016-02-27 12:29:45 +06:00
vladar
b890ef7cfe Ability to define InputObjectType fields with closure (#22) 2016-02-24 23:25:36 +06:00
vladar
98e5835620 Avoid infinite loop when using recursive types and interfaces (#16) 2016-01-01 19:16:25 +06:00
Andy Truong
968da9d122 Add subscriptionType. 2015-12-21 06:35:22 +07:00
vladar
68fb4ceb9c Refactored facade to simplify custom output formatting 2015-11-02 20:39:51 +06:00
vladar
3b3da9e066 Several performance improvements (#8) 2015-10-25 14:23:15 +06:00
vladar
d982bad63a Make sure default argument values are passed to resolve function (#4) 2015-10-23 17:30:02 +06:00
vladar
83f42825f8 Reverted mapping executor (#6) 2015-10-23 15:44:01 +06:00
vladar
3edf6248b0 Mapping Executor 2015-09-01 01:44:03 +06:00
vladar
5241c8a5d3 Better error messages for config validation 2015-08-30 13:41:41 +06:00
vladar
841d6ab851 Updated to latest version of graphql-js 2015-08-17 20:01:55 +06:00
vladar
022c962942 New language features (NamedType, directives rethinking) 2015-08-17 02:53:11 +06:00
vladar
1b2f74f115 More star wars tests 2015-08-16 16:17:35 +06:00
vladar
20c482ce2f Version 0.1 2015-07-15 23:05:46 +06:00