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 28 29 30 31 32 33 34 35 36 37 38
|
# frozen_string_literal: true
require "spec_helper"
describe GraphQL::Tracing::PrometheusTracing do
module PrometheusTraceTest
class Query < GraphQL::Schema::Object
field :int, Integer, null: false
def int
1
end
end
class Schema < GraphQL::Schema
query Query
end
end
describe "Observing" do
it "sends JSON to Prometheus client" do
client = Minitest::Mock.new
client.expect :send_json, true do |obj|
obj[:type] == 'graphql' &&
obj[:key] == 'execute_field' &&
obj[:platform_key] == 'Query.int'
end
PrometheusTraceTest::Schema.trace_with GraphQL::Tracing::PrometheusTrace,
client: client,
trace_scalars: true
PrometheusTraceTest::Schema.execute "query X { int }"
end
end
end
|