Skip to content

Commit

Permalink
squash: Add appraisals for C Parser test
Browse files Browse the repository at this point in the history
  • Loading branch information
arielvalentin committed Dec 22, 2023
1 parent 86d200e commit a86ef25
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 6 deletions.
9 changes: 5 additions & 4 deletions instrumentation/graphql/Appraisals
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,11 @@ appraise 'graphql-2.1' do
gem 'graphql', '~> 2.1.8'
end

appraise 'graphql-2.2.0' do
gem 'graphql', '2.2.0'
appraise 'graphql-c_parser-2.2.x' do
gem 'graphql', '~> 2.2.0'
gem 'graphql-c_parser', '~> 1.0.7'
end

appraise 'graphql-2.x' do
gem 'graphql', '>= 2.2.1', '< 3.0.0'
appraise 'graphql-2.2.x' do
gem 'graphql', '~> 2.2.1', '< 3.0.0'
end
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,8 @@
'graphql.execute_multiplex'
]

expected_spans.delete('graphql.lex') unless trace_lex_supported?

expected_result = {
'simpleField' => 'Hello.',
'resolvedField' => { 'originalValue' => 'testing=1', 'uppercasedValue' => 'TESTING=1' }
Expand Down Expand Up @@ -103,7 +105,7 @@
it 'traces the provided schemas' do
SomeOtherGraphQLAppSchema.execute('query SimpleQuery{ __typename }')

_(spans.size).must_equal(8)
_(spans.select { |s| s.name.start_with?('graphql.') }).wont_be(:empty?)
end

it 'does not trace all schemas' do
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@
'graphql.execute_query_lazy',
'graphql.execute_multiplex'
]
expected_spans.delete('graphql.lex') unless trace_lex_supported?

expected_result = {
'simpleField' => 'Hello.',
Expand Down Expand Up @@ -102,7 +103,7 @@

it 'traces the provided schemas' do
SomeOtherGraphQLAppSchema.execute('query SimpleQuery{ __typename }')
_(spans.size).must_equal(8)
_(spans.select { |s| s.name.start_with?('graphql.') }).wont_be(:empty?)
end

it 'does not trace all schemas' do
Expand Down
9 changes: 9 additions & 0 deletions instrumentation/graphql/test/test_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -125,3 +125,12 @@ def uses_platform_interfaces?
def gem_version
Gem::Version.new(GraphQL::VERSION)
end

# When tracing, is the parser expected to call `lex` before `parse`
def trace_lex_supported?
return @trace_lex_supported if defined?(@trace_lex_supported)

# In GraphQL 2.2, the default parser was changed such that `lex` is no longer called
@trace_lex_supported = Gem::Requirement.new('< 2.2').satisfied_by?(Gem::Version.new(GraphQL::VERSION)) \
|| (defined?(GraphQL::CParser) == 'constant')
end

0 comments on commit a86ef25

Please sign in to comment.