Skip to content
Snippets Groups Projects
Commit 46ebc4db authored by Charlie Ablett's avatar Charlie Ablett Committed by Brett Walker
Browse files

Allow tests to ignore recursion

parent dde34150
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -45,13 +45,17 @@ module Gitlab
def recursion_too_deep?(node_name, times_encountered)
return if IGNORED_FIELDS.include?(node_name)
 
times_encountered > RECURSION_THRESHOLD
times_encountered > recursion_threshold
end
 
def skip_node?(irep_node)
ast_node = irep_node.ast_node
!ast_node.is_a?(GraphQL::Language::Nodes::Field) || ast_node.selections.empty?
end
def recursion_threshold
RECURSION_THRESHOLD
end
end
end
end
Loading
Loading
Loading
Loading
@@ -117,6 +117,7 @@ module GraphqlHelpers
def all_graphql_fields_for(class_name, parent_types = Set.new)
allow_unlimited_graphql_complexity
allow_unlimited_graphql_depth
allow_high_graphql_recursion
 
type = GitlabSchema.types[class_name.to_s]
return "" unless type
Loading
Loading
@@ -240,6 +241,10 @@ module GraphqlHelpers
allow_any_instance_of(GitlabSchema).to receive(:max_depth).and_return nil
allow(GitlabSchema).to receive(:max_query_depth).with(any_args).and_return nil
end
def allow_high_graphql_recursion
allow_any_instance_of(Gitlab::Graphql::QueryAnalyzers::RecursionAnalyzer).to receive(:recursion_threshold).and_return 1000
end
end
 
# This warms our schema, doing this as part of loading the helpers to avoid
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment