Exemplo n.º 1
0
 def assertNoErrors(
         query: str,
         schema: s.Schema,
         variables: t.Optional[t.Mapping[str,
                                         PrimitiveType]] = None) -> None:
     validate(parse_document(query), schema,
              variables if variables is not None else {})
Exemplo n.º 2
0
 def test_subfield_exists(self) -> None:
     validate(
         parse_document("{ foo { bar } }"),
         s.Schema([s.Object("Foo", {"bar": s.Int})],
                  s.Object("Query", {"foo": "Foo"})), {})
     self.assertValidationError(
         "{ foo { bar } }",
         s.Schema([s.Object("Foo", {"abc": s.Int})],
                  s.Object("Query", {"foo": "Foo"})),
         "`Foo` type does not define `bar` field")
Exemplo n.º 3
0
    def test_selectable_field_must_queries_with_selections(self) -> None:
        validate(
            parse_document("{ foo { bar } }"),
            s.Schema([s.Object("Foo", {"bar": s.Int})],
                     s.Object("Query", {"foo": "Foo"})), {})

        self.assertValidationError(
            "{ foo }",
            s.Schema([s.Object("Foo", {"abc": s.Int})],
                     s.Object("Query", {"foo": "Foo"})),
            "Spreadable type `Foo` must be selected with sub-selections")
Exemplo n.º 4
0
    def assertValidationError(
            self,
            query: str,
            schema: s.Schema,
            error_message: str,
            variables: t.Optional[t.Mapping[str,
                                            PrimitiveType]] = None) -> None:
        with self.assertRaises(GqlValidationError) as cm:
            validate(parse_document(query), schema,
                     variables if variables is not None else {})

        self.assertEqual(error_message, str(cm.exception))
Exemplo n.º 5
0
 def test_select_field_of_wrapped_type(self) -> None:
     validate(
         parse_document("{ foo { bar } }"),
         s.Schema([s.Object("Foo", {"bar": s.Int})],
                  s.Object("Query",
                           {"foo": s.NonNull(s.List(s.NonNull("Foo")))})),
         {})
     self.assertValidationError(
         "{ foo { bar } }",
         s.Schema([s.Object("Foo", {"abc": s.Int})],
                  s.Object("Query",
                           {"foo": s.NonNull(s.List(s.NonNull("Foo")))})),
         "`Foo` type does not define `bar` field")
Exemplo n.º 6
0
 def test_fields_exists(self) -> None:
     validate(parse_document("{ foo }"),
              s.Schema([], s.Object("Query", {"foo": s.Int})), {})
     self.assertValidationError(
         "{ foo }", s.Schema([], s.Object("Query", {"bar": s.Int})),
         "`Query` type does not define `foo` field")