Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failed tests in sgqlc/types/__init__.py and sgqlc/operation/__init__.py #241

Open
mcepl opened this issue Nov 13, 2023 · 0 comments
Open

Comments

@mcepl
Copy link

mcepl commented Nov 13, 2023

🐜 Bug Report

When running the test suite these four tests fail:

[   13s] FAILED sgqlc/operation/__init__.py::sgqlc.operation
[   13s] FAILED sgqlc/types/__init__.py::sgqlc.types
[   13s] FAILED sgqlc/types/__init__.py::sgqlc.types.Field.__bytes__
[   13s] FAILED sgqlc/types/__init__.py::sgqlc.types.Schema.__getattr__

Expected Behavior

  • The test suite should pass

Current Behavior

[   13s] =================================== FAILURES ===================================
[   13s] __________________________ [doctest] sgqlc.operation ___________________________
[   13s] 1483 #0: number
[   13s] 1484 
[   13s] 1485 Given a :class:`Selector` one can query a **selection** given its alias:
[   13s] 1486 
[   13s] 1487 >>> op = Operation(Query)
[   13s] 1488 >>> op.repository(id='repo1').issues.number()
[   13s] 1489 number
[   13s] 1490 >>> op.repository(id='repo2', __alias__='alias').issues.title()
[   13s] 1491 title
[   13s] 1492 >>> type(op['repository'])  # it's the selector, not a selection!
[   13s] Expected:
[   13s]     <class 'sgqlc.operation.__init__.Selector'>
[   13s] Got:
[   13s]     <class 'sgqlc.operation.Selector'>
[   13s] 
[   13s] /home/abuild/rpmbuild/BUILD/sgqlc-16.3/sgqlc/operation/__init__.py:1492: DocTestFailure
[   13s] ____________________________ [doctest] sgqlc.types _____________________________
[   13s] 157 aInt: Int
[   13s] 158 >>> TypeUsingPython.a_int.name
[   13s] 159 'a_int'
[   13s] 160 >>> TypeUsingPython.a_int.graphql_name  # auto-generated from name
[   13s] 161 'aInt'
[   13s] 162 >>> TypeUsingPython.a_int.type  # always a :mod:`sgqlc.types` class
[   13s] 163 scalar Int
[   13s] 164 >>> TypeUsingPython.__schema__ is global_schema
[   13s] 165 True
[   13s] 166 >>> global_schema  # or repr(Schema), prints out GraphQL!
[   13s] Differences (unified diff with -expected +actual):
[   13s]     @@ -5,4 +5,63 @@
[   13s]        scalar Boolean
[   13s]        scalar ID
[   13s]     +  scalar Time
[   13s]     +  scalar Date
[   13s]     +  scalar DateTime
[   13s]     +  interface Node {
[   13s]     +    id: ID!
[   13s]     +  }
[   13s]     +  type PageInfo {
[   13s]     +    endCursor: String
[   13s]     +    startCursor: String
[   13s]     +    hasNextPage: Boolean!
[   13s]     +    hasPreviousPage: Boolean!
[   13s]     +  }
[   13s]     +  scalar UUID
[   13s]     +  interface Actor {
[   13s]     +    login: String!
[   13s]     +  }
[   13s]     +  type User implements Actor {
[   13s]     +    login: String!
[   13s]     +    name: String
[   13s]     +  }
[   13s]     +  type Organization implements Actor {
[   13s]     +    login: String!
[   13s]     +    location: String
[   13s]     +  }
[   13s]     +  type ActorConnection {
[   13s]     +    actors(login: String!): [Actor!]
[   13s]     +  }
[   13s]     +  type Assignee {
[   13s]     +    email: String!
[   13s]     +  }
[   13s]     +  union UserOrAssignee = User | Assignee
[   13s]     +  type Issue {
[   13s]     +    number: Int!
[   13s]     +    title: String!
[   13s]     +    body: String
[   13s]     +    reporter: User!
[   13s]     +    assigned: UserOrAssignee
[   13s]     +    commenters: ActorConnection
[   13s]     +  }
[   13s]     +  input ReporterFilterInput {
[   13s]     +    nameContains: String
[   13s]     +  }
[   13s]     +  input IssuesFilter {
[   13s]     +    reporter: [ReporterFilterInput]
[   13s]     +    startDate: DateTime!
[   13s]     +    endDate: DateTime
[   13s]     +  }
[   13s]     +  type Repository {
[   13s]     +    id: ID
[   13s]     +    name: String!
[   13s]     +    owner: Actor!
[   13s]     +    issues(titleContains: String, reporterLogin: String, filter: IssuesFilter): [Issue!]
[   13s]     +  }
[   13s]     +  type Query {
[   13s]     +    repository(id: ID!): Repository
[   13s]     +  }
[   13s]     +  type Mutation {
[   13s]     +    addIssue(repositoryId: ID!, title: String!, body: String): Issue
[   13s]     +  }
[   13s]        type TypeUsingPython {
[   13s]          aInt: Int
[   13s] 
[   13s] /home/abuild/rpmbuild/BUILD/sgqlc-16.3/sgqlc/types/__init__.py:166: DocTestFailure
[   13s] ____________________ [doctest] sgqlc.types.Field.__bytes__ _____________________
[   13s] 2609 Prints GraphQL without indentation.
[   13s] 2610 
[   13s] 2611         >>> print(repr(global_schema.TypeUsingFields.many))
[   13s] UNEXPECTED EXCEPTION: AttributeError('TypeUsingFields')
[   13s] Traceback (most recent call last):
[   13s]   File "/home/abuild/rpmbuild/BUILD/sgqlc-16.3/sgqlc/types/__init__.py", line 760, in __getattr__
[   13s]     return self.__all[key]
[   13s] KeyError: 'TypeUsingFields'
[   13s] The above exception was the direct cause of the following exception:
[   13s] Traceback (most recent call last):
[   13s]   File "/usr/lib64/python3.9/doctest.py", line 1334, in __run
[   13s]     exec(compile(example.source, filename, "single",
[   13s]   File "<doctest sgqlc.types.Field.__bytes__[0]>", line 1, in <module>
[   13s]   File "/home/abuild/rpmbuild/BUILD/sgqlc-16.3/sgqlc/types/__init__.py", line 762, in __getattr__
[   13s]     raise AttributeError(key) from exc
[   13s] AttributeError: TypeUsingFields
[   13s] /home/abuild/rpmbuild/BUILD/sgqlc-16.3/sgqlc/types/__init__.py:2611: UnexpectedException
[   13s] ___________________ [doctest] sgqlc.types.Schema.__getattr__ ___________________
[   13s] 731         >>> global_schema.scalar['Int']
[   13s] 732         scalar Int
[   13s] 733         >>> global_schema.scalar.UnknownTypeName  # doctest: +ELLIPSIS
[   13s] 734         Traceback (most recent call last):
[   13s] 735           ...
[   13s] 736         AttributeError: ... has no field UnknownTypeName
[   13s] 737         >>> global_schema.type.TypeUsingPython  # doctest: +ELLIPSIS
[   13s] 738         type TypeUsingPython {
[   13s] 739         ...
[   13s] 740         >>> for t in global_schema.type.values():  # doctest: +ELLIPSIS
[   13s] Differences (unified diff with -expected +actual):
[   13s]     @@ -1,11 +1,63 @@
[   13s]     +type PageInfo {
[   13s]     +  endCursor: String
[   13s]     +  startCursor: String
[   13s]     +  hasNextPage: Boolean!
[   13s]     +  hasPreviousPage: Boolean!
[   13s]     +}
[   13s]     +type User implements Actor {
[   13s]     +  login: String!
[   13s]     +  name: String
[   13s]     +}
[   13s]     +type Organization implements Actor {
[   13s]     +  login: String!
[   13s]     +  location: String
[   13s]     +}
[   13s]     +type ActorConnection {
[   13s]     +  actors(login: String!): [Actor!]
[   13s]     +}
[   13s]     +type Assignee {
[   13s]     +  email: String!
[   13s]     +}
[   13s]     +type Issue {
[   13s]     +  number: Int!
[   13s]     +  title: String!
[   13s]     +  body: String
[   13s]     +  reporter: User!
[   13s]     +  assigned: UserOrAssignee
[   13s]     +  commenters: ActorConnection
[   13s]     +}
[   13s]     +type Repository {
[   13s]     +  id: ID
[   13s]     +  name: String!
[   13s]     +  owner: Actor!
[   13s]     +  issues(titleContains: String, reporterLogin: String, filter: IssuesFilter): [Issue!]
[   13s]     +}
[   13s]     +type Query {
[   13s]     +  repository(id: ID!): Repository
[   13s]     +}
[   13s]     +type Mutation {
[   13s]     +  addIssue(repositoryId: ID!, title: String!, body: String): Issue
[   13s]     +}
[   13s]      type TypeUsingPython {
[   13s]     -...
[   13s]     -type TypeUsingSGQLC {
[   13s]     -...
[   13s]     -type TypeUsingFields {
[   13s]     -...
[   13s]     -type MyOtherType {
[   13s]     -...
[   13s]     +  aInt: Int
[   13s]     +  aFloat: Float
[   13s]     +  aString: String
[   13s]     +  aBoolean: Boolean
[   13s]     +  aId: ID
[   13s]     +}
[   13s]     +type MyTypeWithArgument {
[   13s]     +  a(argName: Int): String
[   13s]     +  b(arg: Int): String
[   13s]     +  c(arg: Int): String
[   13s]     +  d(arg: Int = 1): String
[   13s]     +}
[   13s]      type MyType {
[   13s]     -...
[   13s]     +  a(argument1: String): Int
[   13s]     +  b(argument1: String): Int
[   13s]      }
[   13s]     +type TypeWithIface implements SomeIface {
[   13s]     +  i: Int
[   13s]     +}
[   13s]     +type MyTypeWithScalar {
[   13s]     +  v: Scalar
[   13s]     +}
[   13s] 
[   13s] /home/abuild/rpmbuild/BUILD/sgqlc-16.3/sgqlc/types/__init__.py:740: DocTestFailure
[   13s] =========================== short test summary info ============================
[   13s] FAILED sgqlc/operation/__init__.py::sgqlc.operation
[   13s] FAILED sgqlc/types/__init__.py::sgqlc.types
[   13s] FAILED sgqlc/types/__init__.py::sgqlc.types.Field.__bytes__
[   13s] FAILED sgqlc/types/__init__.py::sgqlc.types.Schema.__getattr__
[   13s] ========================= 4 failed, 90 passed in 0.33s =========================

Context (Environment)

Complete build log with the list of all packages used and steps taken to reproduce.

bmwiedemann pushed a commit to bmwiedemann/openSUSE that referenced this issue Nov 14, 2023
https://build.opensuse.org/request/show/1125699
by user mcepl + anag+factory
- Add skip-doctests.patch skipping failing tests
  (gh#profusion/sgqlc#241)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant