File: test_visit.py

package info (click to toggle)
graphql-core 3.2.6-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,384 kB
  • sloc: python: 45,812; makefile: 26; sh: 13
file content (27 lines) | stat: -rw-r--r-- 744 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from graphql import parse
from graphql.language import visit, Visitor, ParallelVisitor

from ..fixtures import big_schema_sdl  # noqa: F401


class DummyVisitor(Visitor):
    @staticmethod
    def enter(*args):
        pass

    @staticmethod
    def leave(*args):
        pass


def test_visit_all_ast_nodes(benchmark, big_schema_sdl):  # noqa: F811
    document_ast = parse(big_schema_sdl)
    visitor = DummyVisitor()
    benchmark(lambda: visit(document_ast, visitor))


def test_visit_all_ast_nodes_in_parallel(benchmark, big_schema_sdl):  # noqa: F811
    document_ast = parse(big_schema_sdl)
    visitor = DummyVisitor()
    parallel_visitor = ParallelVisitor([visitor] * 50)
    benchmark(lambda: visit(document_ast, parallel_visitor))