Report raw request usage

This commit is contained in:
Richard Marmorstein 2024-01-10 11:59:05 -06:00
parent 783bcb163f
commit 18fef16be2
2 changed files with 19 additions and 3 deletions

View File

@ -146,8 +146,8 @@ module Stripe
@opts = {}
end
def execute(method, url, params = {}, opts = {})
resp, = execute_resource_request(method, url, params, opts)
def execute(method, url, params = {}, opts = {}, usage = [])
resp, = execute_resource_request(method, url, params, opts, usage)
resp
end
@ -156,7 +156,7 @@ module Stripe
# Sends a request to Stripe REST API
def self.raw_request(method, url, params = {}, opts = {})
req = RawRequest.new
req.execute(method, url, params, opts)
req.execute(method, url, params, opts, usage: ["raw_request"])
end
def self.deserialize(data)

View File

@ -108,5 +108,21 @@ class RawRequestTest < Test::Unit::TestCase
assert_equal stripe_version_override, req.headers["Stripe-Version"]
end
should "report usage" do
expected_body = "{\"id\": \"acc_123\"}"
telemetry_header = nil
Stripe.enable_telemetry = true
stub_request(:get, "#{Stripe.api_base}/v1/accounts/acc_124")
.with { |request| telemetry_header = request.headers["X-Stripe-Client-Telemetry"] }
.to_return(body: expected_body)
Stripe.raw_request(:get, "/v1/accounts/acc_123", {}, {})
Stripe.raw_request(:get, "/v1/accounts/acc_124", {}, {})
parsed_telemetry_header = JSON.parse(telemetry_header)
assert(parsed_telemetry_header["last_request_metrics"]["usage"] == ["raw_request"])
end
end
end