Skip to content

Commit 2dee4ff

Browse files
glassergithub-actions[bot]enisdenjo
authored
feat(audits/server): Test that null is allowed for body parameters (#28)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: enisdenjo <badurinadenis@gmail.com>
1 parent ce9d03a commit 2dee4ff

File tree

11 files changed

+404
-279
lines changed

11 files changed

+404
-279
lines changed

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -735,7 +735,6 @@ If you want a feature-full server with bleeding edge technologies, you're recomm
735735
| [hotchocolate](https://chillicream.com/docs/hotchocolate) | [✅ Compliant](/implementations/hotchocolate/README.md) |
736736
| [postgraphile](https://www.graphile.org/postgraphile/) | [✅ Compliant](/implementations/postgraphile/README.md) |
737737
| [apollo-server](https://www.apollographql.com/docs/apollo-server/) | [✅ Compliant](/implementations/apollo-server/README.md) |
738-
| [mercurius](https://mercurius.dev) | [✅ Compliant](/implementations/mercurius/README.md) |
739738

740739
## [Documentation](docs/)
741740

implementations/apollo-server/README.md

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ _* This report was auto-generated by graphql-http_
22

33
# GraphQL over HTTP audit report
44

5-
- **73** audits in total
6-
-**37** pass
5+
- **79** audits in total
6+
-**43** pass
77
- ⚠️ **36** warnings (optional)
88

99
## Passing
@@ -27,23 +27,29 @@ _* This report was auto-generated by graphql-http_
2727
18. MUST allow string {query} parameter when accepting application/json
2828
19. SHOULD allow string {operationName} parameter when accepting application/graphql-response+json
2929
20. MUST allow string {operationName} parameter when accepting application/json
30-
21. SHOULD use 400 status code on string {variables} parameter when accepting application/graphql-response+json
31-
22. SHOULD allow map {variables} parameter when accepting application/graphql-response+json
32-
23. MUST allow map {variables} parameter when accepting application/json
33-
24. SHOULD use 400 status code on string {extensions} parameter when accepting application/graphql-response+json
34-
25. SHOULD allow map {extensions} parameter when accepting application/graphql-response+json
35-
26. MUST allow map {extensions} parameter when accepting application/json
36-
27. SHOULD use 4xx or 5xx status codes on JSON parsing failure when accepting application/graphql-response+json
37-
28. SHOULD use 400 status code on JSON parsing failure when accepting application/graphql-response+json
38-
29. SHOULD use 4xx or 5xx status codes if parameters are invalid when accepting application/graphql-response+json
39-
30. SHOULD use 400 status code if parameters are invalid when accepting application/graphql-response+json
40-
31. SHOULD not contain the data entry if parameters are invalid when accepting application/graphql-response+json
41-
32. SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
42-
33. SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
43-
34. SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json
44-
35. SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
45-
36. SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
46-
37. SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json
30+
21. SHOULD allow null {variables} parameter when accepting application/graphql-response+json
31+
22. MUST allow null {variables} parameter when accepting application/json
32+
23. SHOULD allow null {operationName} parameter when accepting application/graphql-response+json
33+
24. MUST allow null {operationName} parameter when accepting application/json
34+
25. SHOULD allow null {extensions} parameter when accepting application/graphql-response+json
35+
26. MUST allow null {extensions} parameter when accepting application/json
36+
27. SHOULD use 400 status code on string {variables} parameter when accepting application/graphql-response+json
37+
28. SHOULD allow map {variables} parameter when accepting application/graphql-response+json
38+
29. MUST allow map {variables} parameter when accepting application/json
39+
30. SHOULD use 400 status code on string {extensions} parameter when accepting application/graphql-response+json
40+
31. SHOULD allow map {extensions} parameter when accepting application/graphql-response+json
41+
32. MUST allow map {extensions} parameter when accepting application/json
42+
33. SHOULD use 4xx or 5xx status codes on JSON parsing failure when accepting application/graphql-response+json
43+
34. SHOULD use 400 status code on JSON parsing failure when accepting application/graphql-response+json
44+
35. SHOULD use 4xx or 5xx status codes if parameters are invalid when accepting application/graphql-response+json
45+
36. SHOULD use 400 status code if parameters are invalid when accepting application/graphql-response+json
46+
37. SHOULD not contain the data entry if parameters are invalid when accepting application/graphql-response+json
47+
38. SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
48+
39. SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
49+
40. SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json
50+
41. SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
51+
42. SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
52+
43. SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json
4753

4854
## Warnings
4955
The server _SHOULD_ support these, but is not required.

implementations/express-graphql/README.md

Lines changed: 27 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ _* This report was auto-generated by graphql-http_
22

33
# GraphQL over HTTP audit report
44

5-
- **73** audits in total
6-
-**40** pass
5+
- **79** audits in total
6+
-**46** pass
77
- ⚠️ **33** warnings (optional)
88

99
## Passing
@@ -28,25 +28,31 @@ _* This report was auto-generated by graphql-http_
2828
19. MUST allow string {query} parameter when accepting application/json
2929
20. SHOULD allow string {operationName} parameter when accepting application/graphql-response+json
3030
21. MUST allow string {operationName} parameter when accepting application/json
31-
22. SHOULD use 400 status code on string {variables} parameter when accepting application/graphql-response+json
32-
23. SHOULD allow map {variables} parameter when accepting application/graphql-response+json
33-
24. MUST allow map {variables} parameter when accepting application/json
34-
25. MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json
35-
26. MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json
36-
27. SHOULD allow map {extensions} parameter when accepting application/graphql-response+json
37-
28. MUST allow map {extensions} parameter when accepting application/json
38-
29. SHOULD use 4xx or 5xx status codes on JSON parsing failure when accepting application/graphql-response+json
39-
30. SHOULD use 400 status code on JSON parsing failure when accepting application/graphql-response+json
40-
31. SHOULD not contain the data entry on JSON parsing failure when accepting application/graphql-response+json
41-
32. SHOULD use 4xx or 5xx status codes if parameters are invalid when accepting application/graphql-response+json
42-
33. SHOULD use 400 status code if parameters are invalid when accepting application/graphql-response+json
43-
34. SHOULD not contain the data entry if parameters are invalid when accepting application/graphql-response+json
44-
35. SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
45-
36. SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
46-
37. SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json
47-
38. SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
48-
39. SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
49-
40. SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json
31+
22. SHOULD allow null {variables} parameter when accepting application/graphql-response+json
32+
23. MUST allow null {variables} parameter when accepting application/json
33+
24. SHOULD allow null {operationName} parameter when accepting application/graphql-response+json
34+
25. MUST allow null {operationName} parameter when accepting application/json
35+
26. SHOULD allow null {extensions} parameter when accepting application/graphql-response+json
36+
27. MUST allow null {extensions} parameter when accepting application/json
37+
28. SHOULD use 400 status code on string {variables} parameter when accepting application/graphql-response+json
38+
29. SHOULD allow map {variables} parameter when accepting application/graphql-response+json
39+
30. MUST allow map {variables} parameter when accepting application/json
40+
31. MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json
41+
32. MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json
42+
33. SHOULD allow map {extensions} parameter when accepting application/graphql-response+json
43+
34. MUST allow map {extensions} parameter when accepting application/json
44+
35. SHOULD use 4xx or 5xx status codes on JSON parsing failure when accepting application/graphql-response+json
45+
36. SHOULD use 400 status code on JSON parsing failure when accepting application/graphql-response+json
46+
37. SHOULD not contain the data entry on JSON parsing failure when accepting application/graphql-response+json
47+
38. SHOULD use 4xx or 5xx status codes if parameters are invalid when accepting application/graphql-response+json
48+
39. SHOULD use 400 status code if parameters are invalid when accepting application/graphql-response+json
49+
40. SHOULD not contain the data entry if parameters are invalid when accepting application/graphql-response+json
50+
41. SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
51+
42. SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
52+
43. SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json
53+
44. SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
54+
45. SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
55+
46. SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json
5056

5157
## Warnings
5258
The server _SHOULD_ support these, but is not required.

implementations/graph-client/README.md

Lines changed: 46 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ _* This report was auto-generated by graphql-http_
22

33
# GraphQL over HTTP audit report
44

5-
- **73** audits in total
6-
-**71** pass
5+
- **79** audits in total
6+
-**77** pass
77
- ⚠️ **2** warnings (optional)
88

99
## Passing
@@ -40,44 +40,50 @@ _* This report was auto-generated by graphql-http_
4040
31. SHOULD use 200 status code with errors field on array {operationName} parameter when accepting application/json
4141
32. SHOULD allow string {operationName} parameter when accepting application/graphql-response+json
4242
33. MUST allow string {operationName} parameter when accepting application/json
43-
34. SHOULD use 400 status code on string {variables} parameter when accepting application/graphql-response+json
44-
35. SHOULD use 400 status code on number {variables} parameter when accepting application/graphql-response+json
45-
36. SHOULD use 400 status code on boolean {variables} parameter when accepting application/graphql-response+json
46-
37. SHOULD use 400 status code on array {variables} parameter when accepting application/graphql-response+json
47-
38. SHOULD use 200 status code with errors field on string {variables} parameter when accepting application/json
48-
39. SHOULD use 200 status code with errors field on number {variables} parameter when accepting application/json
49-
40. SHOULD use 200 status code with errors field on boolean {variables} parameter when accepting application/json
50-
41. SHOULD use 200 status code with errors field on array {variables} parameter when accepting application/json
51-
42. SHOULD allow map {variables} parameter when accepting application/graphql-response+json
52-
43. MUST allow map {variables} parameter when accepting application/json
53-
44. MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json
54-
45. MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json
55-
46. SHOULD use 400 status code on string {extensions} parameter when accepting application/graphql-response+json
56-
47. SHOULD use 400 status code on number {extensions} parameter when accepting application/graphql-response+json
57-
48. SHOULD use 400 status code on boolean {extensions} parameter when accepting application/graphql-response+json
58-
49. SHOULD use 400 status code on array {extensions} parameter when accepting application/graphql-response+json
59-
50. SHOULD use 200 status code with errors field on string {extensions} parameter when accepting application/json
60-
51. SHOULD use 200 status code with errors field on number {extensions} parameter when accepting application/json
61-
52. SHOULD use 200 status code with errors field on boolean {extensions} parameter when accepting application/json
62-
53. SHOULD use 200 status code with errors field on array {extensions} parameter when accepting application/json
63-
54. SHOULD allow map {extensions} parameter when accepting application/graphql-response+json
64-
55. MUST allow map {extensions} parameter when accepting application/json
65-
56. SHOULD use 200 status code on JSON parsing failure when accepting application/json
66-
57. SHOULD use 200 status code if parameters are invalid when accepting application/json
67-
58. SHOULD use 200 status code on document parsing failure when accepting application/json
68-
59. SHOULD use 200 status code on document validation failure when accepting application/json
69-
60. SHOULD use 4xx or 5xx status codes on JSON parsing failure when accepting application/graphql-response+json
70-
61. SHOULD use 400 status code on JSON parsing failure when accepting application/graphql-response+json
71-
62. SHOULD not contain the data entry on JSON parsing failure when accepting application/graphql-response+json
72-
63. SHOULD use 4xx or 5xx status codes if parameters are invalid when accepting application/graphql-response+json
73-
64. SHOULD use 400 status code if parameters are invalid when accepting application/graphql-response+json
74-
65. SHOULD not contain the data entry if parameters are invalid when accepting application/graphql-response+json
75-
66. SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
76-
67. SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
77-
68. SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json
78-
69. SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
79-
70. SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
80-
71. SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json
43+
34. SHOULD allow null {variables} parameter when accepting application/graphql-response+json
44+
35. MUST allow null {variables} parameter when accepting application/json
45+
36. SHOULD allow null {operationName} parameter when accepting application/graphql-response+json
46+
37. MUST allow null {operationName} parameter when accepting application/json
47+
38. SHOULD allow null {extensions} parameter when accepting application/graphql-response+json
48+
39. MUST allow null {extensions} parameter when accepting application/json
49+
40. SHOULD use 400 status code on string {variables} parameter when accepting application/graphql-response+json
50+
41. SHOULD use 400 status code on number {variables} parameter when accepting application/graphql-response+json
51+
42. SHOULD use 400 status code on boolean {variables} parameter when accepting application/graphql-response+json
52+
43. SHOULD use 400 status code on array {variables} parameter when accepting application/graphql-response+json
53+
44. SHOULD use 200 status code with errors field on string {variables} parameter when accepting application/json
54+
45. SHOULD use 200 status code with errors field on number {variables} parameter when accepting application/json
55+
46. SHOULD use 200 status code with errors field on boolean {variables} parameter when accepting application/json
56+
47. SHOULD use 200 status code with errors field on array {variables} parameter when accepting application/json
57+
48. SHOULD allow map {variables} parameter when accepting application/graphql-response+json
58+
49. MUST allow map {variables} parameter when accepting application/json
59+
50. MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json
60+
51. MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json
61+
52. SHOULD use 400 status code on string {extensions} parameter when accepting application/graphql-response+json
62+
53. SHOULD use 400 status code on number {extensions} parameter when accepting application/graphql-response+json
63+
54. SHOULD use 400 status code on boolean {extensions} parameter when accepting application/graphql-response+json
64+
55. SHOULD use 400 status code on array {extensions} parameter when accepting application/graphql-response+json
65+
56. SHOULD use 200 status code with errors field on string {extensions} parameter when accepting application/json
66+
57. SHOULD use 200 status code with errors field on number {extensions} parameter when accepting application/json
67+
58. SHOULD use 200 status code with errors field on boolean {extensions} parameter when accepting application/json
68+
59. SHOULD use 200 status code with errors field on array {extensions} parameter when accepting application/json
69+
60. SHOULD allow map {extensions} parameter when accepting application/graphql-response+json
70+
61. MUST allow map {extensions} parameter when accepting application/json
71+
62. SHOULD use 200 status code on JSON parsing failure when accepting application/json
72+
63. SHOULD use 200 status code if parameters are invalid when accepting application/json
73+
64. SHOULD use 200 status code on document parsing failure when accepting application/json
74+
65. SHOULD use 200 status code on document validation failure when accepting application/json
75+
66. SHOULD use 4xx or 5xx status codes on JSON parsing failure when accepting application/graphql-response+json
76+
67. SHOULD use 400 status code on JSON parsing failure when accepting application/graphql-response+json
77+
68. SHOULD not contain the data entry on JSON parsing failure when accepting application/graphql-response+json
78+
69. SHOULD use 4xx or 5xx status codes if parameters are invalid when accepting application/graphql-response+json
79+
70. SHOULD use 400 status code if parameters are invalid when accepting application/graphql-response+json
80+
71. SHOULD not contain the data entry if parameters are invalid when accepting application/graphql-response+json
81+
72. SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json
82+
73. SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+json
83+
74. SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json
84+
75. SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json
85+
76. SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json
86+
77. SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+json
8187

8288
## Warnings
8389
The server _SHOULD_ support these, but is not required.

0 commit comments

Comments
 (0)