graphql-python / graphql-python/graphql-core-legacy
List types are not correctly validated
- Ngôn ngữ chính
- Python
- Star
- 372
- Fork
- 175
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
Consider the following test case:
```
from graphql.language.parser import parse
from graphql.utils.build_ast_schema import build_ast_schema
from graphql.validation import validate
def test_list_literal_validation():
schema_text = '''
schema {
query: RootSchemaQuery
}
directive @foo(list: [String!]!) on FIELD | INLINE_FRAGMENT
type Bar {
name: String
}
type RootSchemaQuery {
Bar: Bar
}
'''
schema = build_ast_schema(parse(schema_text))
query = '''
query Baz {
Bar {
name @foo(list: "not_a_list")
}
}
'''
query_ast = parse(query)
errors = validate(schema, query_ast)
assert errors
```
Note that the directive `@foo` requires a list argument, but is passed a string argument instead. Despite this problem, this library claims that the GraphQL query validates with no errors, failing the test. I believe this to be a bug.
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Bắt đầu với trường hợp kiểm thử được báo cáo trong test_list_literal_validation và theo dõi quá trình xác thực từ graphql.language.parser.parse đến graphql.validation.validate, bao gồm cả lược đồ chỉ thị được xây dựng bởi build_ast_schema. Chạy ví dụ và xác nhận rằng việc truyền một chuỗi vào đối số danh sách bắt buộc sẽ tạo ra các lỗi xác thực.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- python
- Lĩnh vực
- api
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức phù hợp với người mới
- 55/100